Вопросы с тегом «data-structures»

187
Наборы Python против списков

В Python, какая структура данных является более эффективной / быстрой? Предполагая, что порядок не важен для меня, и я все равно буду проверять наличие дубликатов, является ли набор Python более медленным, чем список...

185
Как многомерные массивы отформатированы в памяти?

В Си я знаю, что могу динамически распределить двумерный массив в куче, используя следующий код: int** someNumbers = malloc(arrayRows*sizeof(int*)); for (i = 0; i < arrayRows; i++) { someNumbers[i] = malloc(arrayColumns*sizeof(int)); } Ясно, что на самом деле это создает одномерный массив...

173
линзы, fclabels, data-accessor - какая библиотека для доступа к структуре и мутации лучше

Существует как минимум три популярные библиотеки для доступа к полям записей и управления ими. Те, о которых я знаю, это: средство доступа к данным, флейбелы и линзы. Лично я начал с доступа к данным и сейчас ими пользуюсь. Однако недавно в haskell-cafe появилось мнение, что fclabels лучше. Поэтому...

172
Как работает алгоритм HyperLogLog?

Недавно в свободное время я изучал различные алгоритмы, и один из них, с которым я столкнулся, кажется очень интересным, называется алгоритмом HyperLogLog, который оценивает количество уникальных элементов в списке. Это было особенно интересно для меня, потому что это вернуло меня в те дни, когда я...

169
Как бы вы реализовали LRU-кеш в Java?

Пожалуйста, не говорите EHCache или OSCache и т. Д. Предположим, что для целей этого вопроса я хочу реализовать свой собственный, используя только SDK (обучение на практике). Учитывая, что кеш будет использоваться в многопоточной среде, какие структуры данных вы бы использовали? Я уже реализовал...

167
Получить ключи из HashMap в Java

У меня есть Hashmap в Java, как это: private Map<String, Integer> team1 = new HashMap<String, Integer>(); Тогда я заполняю это так: team1.put("United", 5); Как я могу получить ключи? Что-то вроде: team1.getKey()вернуть...

163
Проверьте, содержит ли список конкретное значение в Clojure

Каков наилучший способ проверить, содержит ли список заданное значение в Clojure? В частности, поведение contains?меня сейчас смущает: (contains? '(100 101 102) 101) => false Я мог бы, очевидно, написать простую функцию для обхода списка и проверки на равенство, но наверняка должен быть...

160
Как избежать проблемы «слишком много параметров» в дизайне API?

У меня есть эта функция API: public ResultEnum DoSomeAction(string a, string b, DateTime c, OtherEnum d, string e, string f, out Guid code) Мне это не нравится Потому что порядок параметров становится излишне значимым. Становится сложнее добавлять новые поля. Труднее увидеть, что происходит вокруг....

158
Каким будет «замороженный дикт»?

Замороженный набор - это фрозенет. Замороженный список может быть кортежем. Каким будет замороженный дикт? Неизменный, бескомпромиссный диктат. Я думаю, что это может быть что-то вроде collections.namedtuple, но это больше похоже на диктат замороженных ключей (полузамороженный диктат). Не так ли?...

157
Почему я должен использовать Deque over Stack?

Мне нужна Stackструктура данных для моего варианта использования. Я должен иметь возможность помещать элементы в структуру данных, и я хочу получить только последний элемент из стека. JavaDoc для стека говорит: Более полный и согласованный набор операций стека LIFO обеспечивается интерфейсом Deque...

155
Зачем кому-то использовать set вместо unordered_set?

Представляем C ++ 0x, unordered_setкоторый доступен во boostмногих других местах. Я понимаю, что unordered_setэто хеш-таблица со O(1)сложностью поиска. С другой стороны, setэто не что иное, как дерево со log(n)сложностью поиска. Зачем кому-то использовать setвместо unordered_set? т.е. есть ли...

152
Как реализовано set ()?

Я видел, как люди говорят, что setобъекты в Python имеют O (1) проверку членства. Как они реализованы внутри, чтобы позволить это? Какую структуру данных он использует? Какие еще последствия имеет эта реализация? Каждый ответ здесь был действительно поучительным, но я могу принять только один,...

151
Кто-нибудь на самом деле эффективно реализовал Фибоначчи-кучу?

Кто-нибудь из вас когда-либо реализовывал кучу Фибоначчи ? Я сделал это несколько лет назад, но это было на несколько порядков медленнее, чем использование BinHeaps на основе массива. В то время я считал это ценным уроком того, что исследования не всегда так хороши, как утверждают. Тем не менее,...

149
Зачем запускать ArrayList с начальной емкостью?

Обычный конструктор ArrayList: ArrayList<?> list = new ArrayList<>(); Но есть также перегруженный конструктор с параметром для его начальной емкости: ArrayList<?> list = new ArrayList<>(20); Почему полезно создать ArrayListисходную емкость, когда мы можем добавлять ее, как...

144
Допускаются ли повторяющиеся ключи в определении деревьев двоичного поиска?

Я пытаюсь найти определение бинарного дерева поиска и везде нахожу разные определения. Некоторые говорят, что для любого заданного поддерева левый дочерний ключ меньше или равен корню. Некоторые говорят, что для любого заданного поддерева правый дочерний ключ больше или равен корню. А в моей...

143
Реализуйте стек с использованием двух очередей

Аналогичный вопрос был задан ранее там , но здесь вопрос обратный, используя две очереди в качестве стека. Вопрос... Учитывая две очереди с их стандартными операциями ( enqueue, dequeue, isempty, size), реализовать стек с его стандартными операциями ( pop, push, isempty, size). Должно быть две...

142
Есть ли в Objective-C строго типизированные коллекции?

Я новичок в программировании Mac / iPhone и Objective-C. В C # и Java есть «дженерики», классы коллекций, члены которых могут быть только объявленного типа. Например, в C # Dictionary<int, MyCustomObject> могут содержать только ключи, которые являются целыми числами, и значениями типа...