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

14
Нахождение максимального XOR двух чисел в интервале: можем ли мы сделать лучше, чем квадратичное?

Предположим, нам даны два числа и и мы хотим найти для .lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r Наивный алгоритм просто проверяет все возможные пары; например, в ruby ​​у нас будет: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max...

14
Исследования по оценке производительности кеширования на практике

Не обращающие внимания на кэш алгоритмы и структуры данных - довольно новая вещь, представленная Frigo et al. в алгоритмах кеширования, 1999 . Тезис Прокопа того же года знакомит и с ранними идеями. Бумага Frigo et al. представить некоторые экспериментальные результаты, показывающие потенциал...

14
Вычислительная разница между двумя большими наборами

У меня есть два больших наборов целых чисел AAA и . Каждый набор содержит около миллиона записей, и каждая запись представляет собой положительное целое число длиной не более 10 цифр. BBB Каков наилучший алгоритм для вычисления и ? Другими словами, как я могу эффективно вычислить список записей ,...

14
Универсальное хеширование на практике

ЧАСЧАСHч : U→ { 0 , … , M- 1 }час:U→{0,...,M-1}h: U \rightarrow \{0,\ldots,M-1\}∀ х , у∈ U, х ≠ у⇒ Prh ∈ H[ ч ( х ) = ч ( у) ] ≤ 1M∀Икс,Y∈U,Икс≠Y⇒Prчас∈ЧАС[час(Икс)знак равночас(Y)]≤1M\forall x,y \in U, x \neq y \Rightarrow \Pr_{h \in H}[h(x) = h(y)] \leq \frac{1}{M} Вы можете узнать больше о...

14
Эффективная структура данных, поддерживающая Insert, Delete и MostFrequent

Предположим, что у нас есть множество DDD и каждый член DDD является парой данных и ключей. Нам нужна структура данных, которая бы поддерживала следующие операции: Вставьте (d,k)(d,k)(d,k) в DDD , Удалить член eee (не нужно искать, чтобы найти eee , например, eee указывает на члена в DDD ),...

14
Доказательство, что бинарное дерево имеет не более

Я пытаюсь доказать, что бинарное дерево с узлами имеет самое большее ⌈ nnNnлистья. Как мне поступить с индукцией?⌈n2⌉⌈N2⌉\left\lceil \frac{n}{2} \right\rceil Для людей, которые следили за оригинальным вопросом о кучах, он был перенесен сюда...

13
Существует ли структура данных для полурешеток, аналогичная древовидной структуре данных?

Если рассматривать дерево как частичное упорядоченное множество, оно становится частным случаем полурешетки соединения. Для полурешетки соединения мы хотим иметь возможность эффективно вычислять (уникальную) наименьшую верхнюю границу двух элементов (более или менее). В случае дерева структура...

13
Количество возможных путей поиска при поиске в BST

У меня есть следующий вопрос, но у меня нет ответа на этот вопрос. Буду признателен, если мой метод правильный: Q. При поиске значения ключа 60 в двоичном дереве поиска узлы, содержащие значения ключа 10, 20, 40, 50, 70, 80, 90, пересекаются, необязательно в указанном порядке. Сколько возможных...

12
Хорошая снимковая структура данных для индекса в памяти

Я проектирую базу данных объектов в памяти для очень конкретного случая использования. Это один писатель, но должен поддерживать эффективное одновременное чтение. Чтения должны быть изолированными. Нет языка запросов, база данных поддерживает только: получить объект / -ы по атрибуту / набору...

12
Каковы преимущества хеширования кукушки перед динамическим хэшированием?

Динамические совершенные хеш-таблицы и кукуш-хеш-таблицы - это две разные структуры данных, которые поддерживают O (1) поиск в худшем случае и ожидаемые O (1) вставки и удаления во время. Оба требуют O (n) вспомогательного пространства и доступа к семействам хеш-функций для своих операций. Я думаю,...

11
Предлагая уточнения типов

На работе мне было поручено вывести некоторую информацию о типах динамического языка. Я переписываю последовательности операторов во вложенные letвыражения, например так: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then {...

11
Хеширование с использованием деревьев поиска вместо списков

Я борюсь с хэшированием и бинарным поисковым материалом. И я прочитал, что вместо использования списков для хранения записей с одинаковыми значениями хеш-функции также возможно использовать двоичные деревья поиска. И я пытаюсь понять, что наихудший и средний случай времени выполнения операций...

11
Реализация неизменяемой (постоянной) структуры данных в виде массива с быстрой индексацией, добавлением, предварительным добавлением, итерацией

Я ищу постоянную структуру данных, похожую на массив (но неизменяемую), позволяющую выполнять быстрые операции индексации, добавления, добавления и итерации (хорошая локальность). Clojure обеспечивает постоянный вектор, но это только для быстрого добавления. Вектор Scala эффективно добавляет и...

11
Нахождение k-го наименьшего элемента из заданной последовательности только с O (k) памятью O (n) времени

Предположим , что мы читаем последовательность чисел, один за другим. Как найти к «й наименьший элемент только с помощью O ( K ) клеток памяти и в линейном времени ( O ( п ) ). Я думаю , что мы должны сохранить первые K члены последовательности и когда получим K + 1 «й член, удалить термин ,...

11
Структура данных для карты по интервалам

Пусть nnn будет целым числом, и пусть ZZ\mathbb{Z} обозначает множество всех целых чисел. Обозначим через [a,b][a,b][a,b] интервал целых чисел {a,a+1,a+2,…,b}{a,a+1,a+2,…,b}\{a,a+1,a+2,\dots,b\} . Ищу структуру данных для представления отображения f:[1,n]→Zf:[1,n]→Zf:[1,n] \to \mathbb{Z} . Я хочу,...

11
Приоритетная очередь с операциями уменьшения и увеличения

Fibonnaci кучного поддерживает следующие операции: insert(key, data) : добавляет новый элемент в структуру данных find-min() : возвращает указатель на элемент с минимальным ключом delete-min() : удаляет элемент с минимальным ключом delete(node) : удаляет элемент, на который указывает node...

11
Что такое компактный способ представления раздела множества?

Существуют эффективные структуры данных для представления заданных разделов. Эти структуры данных имеют хорошие временные сложности для таких операций, как Union и Find, но они не особенно эффективны в использовании. Что такое эффективный для пространства способ представления раздела набора? Вот...

11
Алгоритм книги по ряду тем

Хотите улучшить этот пост? Предоставьте подробные ответы на этот вопрос, включая цитаты и объяснение того, почему ваш ответ правильный. Ответы без достаточной детализации могут быть отредактированы или удалены. Мне было поручено создать библиотеку книг по алгоритмам для нашей небольшой компании...

10
Доказательство того, что случайно построенное двоичное дерево поиска имеет логарифмическую высоту

Как доказать, что ожидаемая высота случайно построенного бинарного дерева поиска с узлами составляет ? В CLRS Введение в алгоритмы есть доказательство (глава 12.4), но я его не понимаю.O ( log n )nnnO(logn)O(log⁡n)O(\log...