Запитання з тегом «data-structures»

Структура даних - це спосіб організації даних таким чином, який дозволяє запитувати та / або ефективно оновлювати певні властивості цих даних.

14
Отримайте ключі від HashMap на Java
У мене на 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» повинен бути заморожений словником, він повинен мати …

7
Чому я повинен використовувати Deque над Stack?
Мені потрібна Stackструктура даних для мого випадку використання. Я повинен мати можливість проштовхувати елементи в структуру даних, і я хочу лише отримати останній елемент із Стек. JavaDoc для стека каже: Більш повний і послідовний набір операцій стека LIFO надається інтерфейсом Deque та його реалізаціями, який слід використовувати в перевазі цього …

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

5
Як встановлюється () реалізується?
Я бачив, як люди кажуть, що setоб’єкти в python мають перевірку членства O (1). Як вони реалізуються всередині, щоб дозволити це? Яку структуру даних він використовує? Які ще наслідки має ця реалізація? Кожна відповідь тут була справді освічуючою, але я можу прийняти лише одну, тому я піду з найближчою відповіддю …

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

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

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

22
Реалізуйте стек за допомогою двох черг
Аналогічне питання було поставлене раніше там , але питання тут протилежний його, використовуючи дві черги в стеці. Питання... З огляду на дві черги з їх стандартними операціями ( enqueue, dequeue, isempty, size), реалізувати стек з його стандартними операціями ( pop, push, isempty, size). Повинно бути дві версії рішення. Версія A …

8
Як створити об'єкт черги в Java?
Коли я намагаюся: Queue<Integer> q = new Queue<Integer>(); компілятор видає мені помилку. Будь-яка допомога? Крім того, якщо я хочу ініціалізувати чергу, чи потрібно мені реалізувати методи черги?

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. Чи існує подібний механізм у …

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.