Изменения

Перейти к: навигация, поиск

Tango-дерево

302 байта добавлено, 23:38, 1 июня 2014
Нет описания правки
==Динамическая оптимальность==
{{Определение
|definition=Динамическая оптимальность(Dynamic Opt)}} 
Если мы разрешаем перестраивать деревья в процессе запроса, то splay-деревья не больше, чем в константу хуже оптимальных.
}}
{{Гипотеза
|statement=Splay-деревья обладают динамической оптимальностью.То есть время работы splay-дерева <tex>O(OPT dyn)</tex>
}}
===Модель оптимального дерева===
Рассмотрим ключи <tex>1..n </tex> и запросы x1<tex>x_{1}..xnx_{n}</tex>, где xi принадлежит <tex>x_{i} \in \{1..n\} </tex> – ключ, к которому мы обращаемся.
{{Утверждение|statement=Существует некоторое гипотетическое оптимальное дерево, которое на каждый запрос делает следующие вещи- # идет от корня до xi<tex>x_{i}</tex>- # делает какие-то количество поворотов}}
Время работы tango-дерева <tex>O(OPT dyn * log log n)</tex>
===Оценка снизу на динамический оптимум===
===Визуализация работы с гипотетически оптимальным динамическим двоичным деревом поиска===
Рассмотрим оси ключи от времени
Множество точек определяет, что происходило с деревом.
{{Определение|definition=Множество точек называется '''древесным ''' (aboral), если выполняется следующее свойство:
возьмем произвольный невырожденный прямоугольник(площадь прямоугольника больше нуля) с углами в наших точках.
}}
(рис. 1)
3) Запрос 4 : вершина 3 – вершина 4
Утверждение
Множество точек удовлетворяет свойству древесности, если на любом прямоугольнике с вершинами в наших точках есть еще хотя бы одна точка, отличная от точек, на которых его построили.
{{Утверждение|statement=Множество точек удовлетворяет свойству древесности, если на любом прямоугольнике с вершинами в наших точках есть еще хотя бы одна точка, отличная от точек, на которых его построили.}} {{Теорема|statement=Множество точек является фазовой диаграммой работы с некоторым деревом поиска тогда и только тогда, когда оно обладает свойством древесности.
Доказательство|proof=
1) #Фазовая диаграмма работы с деревом поиска обралает обладает свойством древестности.
Пусть мы обращались к какому-то ключу <tex>x </tex> в <tex>i</tex>-ом запросе и к какому-то ключу <tex>y </tex> в <tex>j</tex>-ом запросе.
Рассмотрим этот прямоугольник.
На момент <tex>i</tex>-го запроса рассмотрим в дереве поиска наименьшего общего предка <tex>x </tex> и <tex>y </tex> -– вершину <tex>t</tex>.Если <tex>t != x</tex>, то все хорошо, значит в дереве поиска он она находится между <tex>х </tex> и <tex>у</tex>, поэтому мы к нему обращались в то время, когда шли к <tex>х</tex>, значит есть точка на стороне нашего многоугольника.
(Рис.2)
(рисунок надо?)
2) # Если множество точек обладает свойством древесности, то оно является фазовой диаграммой работы с некоторым деревом поиска.
Для любого прямоугольника, построенного на наших точках, есть еще одна точка на стороне.
Когда таких точек (как z) не останется, то мы получим прямоугольник, у которого нет точек на всех сторонах, а это противоречит исходному условию.
Поэтому при перестроении декартова дерева нам не потребуется переходить из нашей верхней зоны
}}
Таким образом, мы получили какую-то offline оптимальность.
170
правок

Навигация