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

Свойства и приложения структур данных, такие как нижние границы пространства или временная сложность вставки и удаления объектов.

3
Нижние границы для структур данных
Известны ли результаты, которые исключают существование «слишком хороших, чтобы быть правдивыми» структур данных? Например: можно ли добавить функциональность и J o i n в структуру данных ведения заказа (см. Dietz and Sleator STOC '87 ) и при этом получить O ( 1 ) временных операций?Sp l i tSпLяTSplitJо я нJояNJoinO …

2
Чисто функциональный эквивалент B-Tree?
Я изучаю идею написания СУБД чисто функциональным способом. Традиционной структурой данных, используемой для индексации, является B-Tree. Я хотел бы знать какой-то чисто функциональный эквивалент B-Tree, который был бы оптимизирован для минимизации доступа к диску. Благодарю.

3
Ассоциативное смешивание хешей
Рассмотрим простой односвязный список в чисто функциональной обстановке. Его похвалы пели с горных вершин и будут продолжать петь. Здесь я расскажу об одной из его сильных сторон и о том, как ее можно распространить на более широкий класс чисто функциональных последовательностей, основанных на деревьях. Проблема заключается в следующем: вы хотите …

4
Поддиапазон красного и черного дерева
Пытаясь исправить ошибку в библиотеке, я безуспешно искал документы по поиску поддиапазонов на красных и черных деревьях. Я рассматриваю решение с использованием застежек-молний и что-то похожее на обычную операцию добавления, используемую в алгоритмах удаления для неизменяемых структур данных, но мне все еще интересно, есть ли лучший подход, который я не …

1
Сколько независимости требуется для отдельного сцепления?
Если шаров равномерно размещены в n корзинах случайным образом, то в самой тяжелой загруженной корзине с высокой вероятностью будет O ( lg n / lg lg n ) шариков. В «Сложности простого хэширования табуляции» Патрашку и Торуп упоминают, что «границы Черноффа-Хёффдинга для приложений с ограниченной независимостью» ( зеркало ) показывают, …

2
Структура данных для обновления интервалов и запроса количества нулей
Я ищу структуру данных, которая бы поддерживала целочисленную таблицу ttt размера и позволяла бы выполнять следующие операции за время .nnnO(logn)O(log⁡n)O(\log n) increase(a,b)increase(a,b)\text{increase}(a,b) , которое увеличивает .t[a],t[a+1],…,t[b]t[a],t[a+1],…,t[b]t[a],t[a+1],\ldots,t[b] decrease(a,b)decrease(a,b)\text{decrease}(a,b) , которое уменьшает t[a],t[a+1],…,t[b]t[a],t[a+1],…,t[b]t[a],t[a+1],\ldots,t[b] . support()support()\text{support}() , который возвращает количество индексовiii таких чтоt[i]≠0t[i]≠0t[i]\neq 0 . У вас есть обещание, что каждый призыв к …

2
Списки различий в функциональном программировании
Вопрос Что нового в чисто функциональных структурах данных со времен Окасаки? и эпический ответ jbapple, упомянутый с использованием списков различий в функциональном программировании (в отличие от логического программирования), что меня недавно интересовало. Это привело меня к поиску реализации списка различий для Haskell. У меня есть два вопроса (простите / исправьте …

4
Ссылка на фундаментальную теорему о вращениях деревьев
Два бинарных дерева поиска называются линейно эквивалентными, когда они сходятся в своих обходах по порядку. Следующая теорема объясняет, почему повороты деревьев так фундаментальны: Пусть A и B - бинарные деревья поиска. Тогда A и B линейно эквивалентны тогда и только тогда, когда они связаны последовательностью поворотов дерева. Я заметил этот …

2
Структура данных для динамического распределения памяти
Подумайте о модели клеточного зонда. Существует ли структура данных, которая может выделять непрерывные порции памяти любой длины (например, malloc в C) и освобождать их, избегая при этом сегментации памяти, и выполняет каждую операцию в наихудший случай детерминированного времени O (log n), где n равно общий размер памяти? Избегая сегментации памяти, …

1
Целочисленная приоритетная очередь с чувствительным к распределению deleteMin
Есть ли в очереди с целочисленным приоритетом, которая использует слов пробела со следующими операциями, все в наихудшем времени и без доступа к случайности:O(n)O(n)O(n) createEmptyQueueв для некоторой константы с .O(lgcU)O(lgcU)O(lg^c U)ccc insertв .O(1)O(1)O(1) deleteMinδ минO(δmin)O(δmin)O(\delta_{\min})δminδmin\delta_{\min} Кроме того, после того как ключ был подвергнут воздействию a , все дальнейшие вставки имеют значение …

1
Минимальные элементы монотонного предиката над набором мощности
Рассмотрим монотонный предикат над множеством степеней (упорядоченный по включению). Под «монотонным» я подразумеваю: такой, что , если то . Я ищу алгоритм, чтобы найти все минимальные элементы , то есть такие, что но , . Поскольку ширина равна n \, выберите n / 22 | п | ∀ x , …

6
Вычисление приблизительной популяции фильтра Блума
Дан фильтр Блума размером N битов и K хэш-функций, из которых установлены M-биты (где M <= N) фильтра. Можно ли приблизить количество элементов, вставленных в фильтр Блума? Простой пример Я обдумывал следующий пример, предполагая, что BF состоит из 100 битов и 5 хэш-функций, где установлены 10 битов ... В лучшем …

2
Сторнирование списка с использованием двух очередей
Этот вопрос основан на существующем вопросе о том, можно ли моделировать стек с использованием двух очередей с амортизированным раз на операцию стека. Ответ кажется неизвестным. Вот более конкретный вопрос, соответствующий особому случаю, когда сначала выполняются все операции PUSH, а затем все операции POP. Насколько эффективно можно изменить список из N …

2
Простые сбалансированные деревья с O (1) concat?
В чисто функциональном худшем случае отсортированные списки с возможностью прокрутки по постоянному времени, Brodal et al. представить чисто функциональные сбалансированные деревья с O (1) сцеплением и O (lg n) вставкой, удалением и поиском. Структура данных несколько сложна. Существует ли более простое сбалансированное дерево поиска с O (1) сцепленным, функциональным или …

2
Веселье с обратным Аккерманом
Обратная функция Аккермана часто встречается при анализе алгоритмов. Отличная презентация здесь: http://www.gabrielnivasch.org/fun/inverse-ackermann . α1(n)=[n/2]α1(n)=[n/2]\alpha_1(n) = [n/2] α2(n)=[log2n]α2(n)=[log2⁡n]\alpha_2(n) = [\log_2 n] α3(n)=log∗nα3(n)=log∗⁡n\alpha_3(n) = \log^* n ......... αk(n)=1+αk(αk−1(n))αk(n)=1+αk(αk−1(n))\alpha_k(n) = 1 + \alpha_k(\alpha_{k−1}(n))α(n)=min{k:αk(n)≤3}α(n)=min{k:αk(n)≤3}\alpha(n) = \min\{k: \alpha_k(n)\leq 3\} Мой вопрос: что такое функция k(n)=min{k:αk(n)≤k}k(n)=min{k:αk(n)≤k}k(n) = \min \{k: \alpha_k(n) \leq k\} Очевидно, что 1≪k(n)≤α(n)1≪k(n)≤α(n)1\ll k(n) …

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