Анализ реализации с ранговой эвристикой — различия между версиями
Rybak (обсуждение | вклад) м |
Rybak (обсуждение | вклад) |
||
Строка 86: | Строка 86: | ||
{\sum_{get} \limits} ~ {\sum_{v:v \in get,v \in T_3} \limits} 1/n | {\sum_{get} \limits} ~ {\sum_{v:v \in get,v \in T_3} \limits} 1/n | ||
</tex> </center> | </tex> </center> | ||
− | Из первого утверждения и | + | Из первого утверждения и в силу использования сжатия путей следует, |
+ | что <tex> R(P(x))</tex> cтрого увеличивается при переходе по ребру из <tex>Т_3</tex>. | ||
− | Как максимум через <tex> x^{R(k)} </tex> переходов ребро перестанет появляться в классе Т_3. | + | Как максимум через <tex> x^{R(k)} </tex> переходов ребро перестанет появляться в классе <tex>Т_3</tex>. |
<center><tex> | <center><tex> | ||
{\sum_{get} \limits}~ {\sum_{v:v \in get,v \in T_3} \limits} 1/n = {\sum_v \limits ~\sum_{get: in ~ this ~ get ~ v \in T_3} \limits } | {\sum_{get} \limits}~ {\sum_{v:v \in get,v \in T_3} \limits} 1/n = {\sum_v \limits ~\sum_{get: in ~ this ~ get ~ v \in T_3} \limits } | ||
1/n \le \sum_v \limits x^{R(v)} /n | 1/n \le \sum_v \limits x^{R(v)} /n | ||
− | + | </tex></center> | |
Из второго следствия второго утверждения следует | Из второго следствия второго утверждения следует | ||
Строка 100: | Строка 101: | ||
</tex></center> | </tex></center> | ||
− | При <tex> x < 2~</tex> : | + | При <tex> x < 2~</tex>: |
− | <center> <tex> | + | <center><tex> |
{\sum_{get} \limits}~ {\sum_{v:v \in get,v \in T3} \limits} 1/n | {\sum_{get} \limits}~ {\sum_{v:v \in get,v \in T3} \limits} 1/n | ||
\le | \le | ||
Строка 112: | Строка 113: | ||
− | Итак <tex> S=O(1)+O(\log^*(x))+O(1)=O(\log^*(x)) </tex>. | + | Итак <tex> S = O(1) + O(\log^*(x)) + O(1) = O(\log^*(x)) </tex>. |
− | В силу того что интервал <tex> (1,45...2) </tex> не пустой теорема доказана. | + | В силу того, что интервал <tex> (1,45...2) </tex> не пустой, теорема доказана. |
}} | }} | ||
Версия 06:06, 30 июня 2011
Пусть
— процедура объединения двух множеств содержащих и , а — поиск представителя множества, содержащего . Рассмотрим операций и операций ( ). Не теряя общности, будем считать, что принимает в качестве аргументов представителей, то есть заменяем на .Оценим стоимость операции
. Обозначим — ранг вершины, — представитель множества, содержащего , — отец вершины, — количество вершин в поддереве, корнем которого является .Утверждение: |
Из принципа работы функции следует:
|
Утверждение: |
Докажем по индукции: Для 0 равенство очевидно. Ранг вершины стает равным при объединении поддеревьев ранга , следовательно: . |
Из последнего утверждения следует:
- Количество вершин ранга
Теорема: |
Амортизационная стоимость |
Доказательство: |
Рассмотрим некоторое число . Разобьем наши ребра на три класса:
Обозначим эти классы .Амортизированная стоимость
где означает что ребро начало которого находится в было пройдено во время выполнения текущего . Ребро эквивалентно вершине, в которой оно начинается.В силу того, что получаем:
Во время после прохождения K ребер из второго классаИз выше сказанного и первого следствия второго утверждения получаем что:
Для того, чтобы существовал необходимо, чтобы
Из первого утверждения и в силу использования сжатия путей следует, что cтрого увеличивается при переходе по ребру из .Как максимум через переходов ребро перестанет появляться в классе .Из второго следствия второго утверждения следует При :
|