Аноним

B-деревья без явного задания параметров кэша: различия между версиями

Материал из WEGA
Строка 18: Строка 18:




'''Теорема 1 ([10]). Существует структура словаря словарь без явного задания параметров кэша, поддерживающая поиск за O(logB n) переносов содержимого памяти, а вставку и удаление – за O(logB n) амортизированных переносов содержимого памяти.'''
'''Теорема 1 ([10]). Существует структура словаря без явного задания параметров кэша, поддерживающая поиск за O(logB n) переносов содержимого памяти, а вставку и удаление – за амортизированные O(logB n) переносов содержимого памяти.'''
 
 
'''Теорема 2 ([10]). Существует структура словаря без явного задания параметров кэша, поддерживающая поиск за O(logB n) переносов содержимого памяти, вставку и удаление – за амортизированные O(logB n + (log 2n)/B) переносов, а поиск в диапазоне – за O(logB n + k/B) переносов, где k – размер выходного значения.'''
 
 
Позднее Бендер и др. [7] разработали структуру без явного задания параметров кэша для поддержки связанных списков, обеспечивающую вставку и удаление элементов за O(1) переносов содержимого памяти, а сканирование k последовательных элементов – за амортизированные O(k/B) переносов. Объединив эту структуру со структурой из теоремы 1, можно получить следующий результат.
 
 
'''Теорема 3 ([7, 10]). Существует структура словаря без явного задания параметров кэша, поддерживающая поиск за O(logB n) переносов содержимого памяти, вставку и удаление – за амортизированные O(logB n) переносов, а поиск в диапазоне – за амортизированные O(logB n + k/B) переносов, где k – размер выходного значения.'''
 
 
Был предложен длинный список расширений базовой структуры словаря без явного задания параметров кэша.
 
 
Бендер и др. [11], а также Бродал и др. [16] предложили довольно близкие идеи для воспроизведения результата теоремы 2, однако использовали значительно более простые структуры вместо сбалансированных по весам B-деревьев. На базе экспоненциальных деревьев Бендер и др. [8] предложили вариант, поддерживающий запросы и обновления за O(logB n) переносов в худшем случае. Они также предложили решение с частичной устойчивостью, в котором поиск (во всех версиях структуры) и обновление (в последней версии структуры) требовали амортизированные O(logB(m + n)) переносов содержимого памяти, где m – количество версий, а n – количество элементов в версии, находящейся в данный момент в работе. Бендер и др. [14] расширили модель без явного задания параметров кэша на параллельный вариант и сформулировали три предложения по использованию B-деревьев без явного задания параметров кэша в этом варианте. Бендер и др. [12] предложили структуры словаря без явного задания параметров кэша, использующие компромисс между более быстрой операцией вставки и более медленным поиском. Франческини и Гросси [17] показали, как добиться стоимости запросов и обновлений O(logB n) в худшем случае, используя O(1) дополнительной памяти помимо той, что требуется для хранения n элементов. Были представлены расширения словаря на другие типы данных – такие как строки [13, 15] и геометрические данные [3, 4, 6].
 
 
Было показано [9], что наилучная возможная мультипликативная константа в границе поиска @(logB n) для поиска на основе сравнения различается в модели ввода-вывода и в модели без явного задания параметров кэша.
 
== Применение ==
4430

правок