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

Вопросы о способах хранения данных, чтобы их можно было выгодно использовать в алгоритмах.

5
Каковы причины для изучения различных алгоритмов / структур данных, служащих одной и той же цели?
Я задавался вопросом об этом вопросе, так как я был студентом. Это общий вопрос, но я приведу примеры ниже. Я видел много алгоритмов - например, для задач с максимальным потоком я знаю около 3 алгоритмов, которые могут решить эту проблему: Ford-Fulkerson, Edmonds-Karp & Dinic, причем Dinic имеет лучшую сложность. Для …


4
(Когда) поиск по хеш-таблице O (1)?
Часто говорят, что поиск в хеш-таблице работает в постоянное время: вы вычисляете значение хеш-функции, которое дает вам индекс для поиска в массиве. Все же это игнорирует столкновения; в худшем случае каждый предмет попадает в одно и то же ведро, и время поиска становится линейным ( ).Θ(n)Θ(n)\Theta(n) Существуют ли условия для …

4
Почему лучше использовать простое число в качестве мода в функции хеширования?
Если у меня есть список значений ключей от 1 до 100, и я хочу организовать их в массив из 11 блоков, меня научили формировать функцию мода H=kmod 11H=kmod 11 H = k \bmod \ 11 Теперь все значения будут размещены один за другим в 9 строк. Например, в первом сегменте …

4
Почему красно-черные деревья так популярны?
Кажется, что везде, где я смотрю, структуры данных реализуются с использованием красно-черных деревьев ( std::setв C ++, SortedDictionaryв C # и т. Д.) Только что покрыв (a, b), красно-черные и AVL деревья в своем классе алгоритмов, вот что я получил (также из бесед с профессорами, просмотра нескольких книг и поиска …

9
Существует ли приоритетная очередь с экстрактами ?
Существует множество структур данных, которые реализуют интерфейс очереди приоритетов: Вставить: вставить элемент в структуру Get-Min: вернуть самый маленький элемент в структуре Extract-Min: удалить самый маленький элемент в структуре Распространенными структурами данных, реализующими этот интерфейс, являются (мин) кучи . Обычно (амортизированное) время выполнения этих операций: Вставьте: (иногда )O ( log n …

1
Представьте себе красно-черное дерево. Всегда ли есть последовательность вставок и удалений, которая ее создает?
Давайте предположим следующее определение красно-черного дерева: Это двоичное дерево поиска. Каждый узел окрашен в красный или черный цвет. Корень черный. Два узла, соединенные ребром, не могут быть одновременно красными. Здесь должно быть хорошее определение листа NIL, как на вики. Лист NIL окрашен в черный цвет. Путь от корня до любого …

2
Эффективные структуры данных для построения быстрой проверки орфографии
Я пытаюсь написать проверку орфографии, которая должна работать с довольно большим словарем. Я действительно хочу, чтобы эффективный способ индексирования данных моего словаря использовался с использованием расстояния Дамерау-Левенштейна, чтобы определить, какие слова наиболее близки к слову с ошибкой. Я ищу структуру данных, которая дала бы мне лучший компромисс между сложностью пространства …

11
Почему данные в информатике считаются дискретными?
Я понимаю, что «структура» данных полностью зависит от булевой алгебры, но: Почему данные считаются дискретным математическим объектом, а не непрерывным? С этим связано: Какие недостатки или инварианты нарушаются при структурировании данных как непрерывного объекта в измерениях?ррr Я не эксперт в этой области, так как я учусь на старшекурснике по математике, …

3
Повлияет ли аппаратное обеспечение / реализация на временную / пространственную сложность алгоритмов?
Я даже не студент CS, так что это может быть глупым вопросом, но, пожалуйста, потерпите меня ... В до-компьютерную эпоху мы можем реализовать структуру данных массива только с чем-то вроде массива ящиков. Так как перед извлечением значения из него нужно найти ящик с соответствующим индексом, временная сложность поиска в массиве …

2
В чем разница между осевшими деревьями и попытками Патриции?
Я узнаю о радикальных деревьях (иначе говоря, сжатых попытках) и попытках Патриции, но я нахожу противоречивую информацию о том, действительно ли они одинаковы. Основное дерево может быть получено из обычного (несжатого) дерева путем объединения узлов с их родителями, когда узлы являются единственными дочерними. Это также касается попыток Патриции. Чем отличаются …

1
Хеш-таблицы против бинарных деревьев
При реализации словаря («Я хочу просмотреть данные клиентов по их идентификаторам»), типичными структурами данных являются хеш-таблицы и двоичные деревья поиска. Я знаю, например, что библиотека C ++ STL реализует словари (они называют их картами), используя (сбалансированные) деревья двоичного поиска, а .NET Framework использует хеш-таблицы. Каковы преимущества и недостатки этих структур …

2
Не все красно-черные деревья сбалансированы?
Интуитивно понятно, что «сбалансированные деревья» должны быть деревьями, где левое и правое поддеревья в каждом узле должны иметь «примерно одинаковое» количество узлов. Конечно, когда мы говорим о том, что красно-черные деревья * (см. Определение в конце) сбалансированы, мы на самом деле имеем в виду, что они сбалансированы по высоте и …

2
Почему пустой тип C не аналогичен пустому / нижнему типу?
Википедия, а также другие источники, которые я обнаружил в списке voidтипа C как тип единицы, а не пустой тип. Мне кажется, что это сбивает с толку, так как мне кажется, что оно voidлучше подходит под определение пустого / нижнего типа voidНасколько я могу судить, ценности не обитают . Функция с …
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

1
Существует ли структура данных «стек строк», которая поддерживает эти строковые операции?
Я ищу структуру данных , которая хранит множество строк над набором символов , способных выполнять следующие операции. Обозначим через D ( S ) в качестве структуры данных , хранящей множество строк S .ΣΣ\SigmaD(S)D(S)\mathcal{D}(S)SSS Add-Prefix-Setна : для некоторого множества T (возможно, пустых) строк, размер которых ограничен константой, а длины строк ограничены …

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