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

Структура данных - это способ организации данных таким образом, который позволяет эффективно запрашивать и / или обновлять конкретные свойства этих данных.

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

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

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

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

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

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

30
Как создать наиболее компактное отображение n → isprime (n) до предела N?
Естественно, потому bool isprime(number)что была бы структура данных, которую я мог бы запросить. Я определяю лучший алгоритм , который должен быть алгоритмом, который создает структуру данных с самым низким потреблением памяти для диапазона (1, N], где N - это константа. Просто пример того, что я ищу: я мог бы представить …

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

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

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


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

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

4
Получите свойство «Value» в IGrouping
У меня есть структура данных вроде public DespatchGroup(DateTime despatchDate, List<Products> products); И я пытаюсь сделать ... var list = new List<DespatchGroup>(); foreach (var group in dc.GetDespatchedProducts().GroupBy(i => i.DespatchDate)) { // group.Values is not correct... how do I write this? list.Add(new DespatchGroup(group.Key, group.Values); } Я, очевидно, не понимаю, IGroupingпоскольку не вижу, …

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.