Анализ реализации с ранговой эвристикой — различия между версиями
Строка 5: | Строка 5: | ||
v </tex> | v </tex> | ||
− | {{Утверждение | + | {{Утверждение |
|statement= | |statement= | ||
<tex> R(P(v))>R(v) </tex> | <tex> R(P(v))>R(v) </tex> | ||
Строка 16: | Строка 16: | ||
}} | }} | ||
− | {{Утверждение | + | {{Утверждение |
|statement= | |statement= | ||
<tex> R(v)=i => K(v) \ge 2^i </tex> | <tex> R(v)=i => K(v) \ge 2^i </tex> | ||
Строка 28: | Строка 28: | ||
− | + | Из второго утверждения следует: | |
+ | 1. <tex> R(v)<= log_2(n) </tex> | ||
+ | |||
+ | 2. Количество вершин ранга <tex> i <= {n \over 2^i} </tex> |
Версия 00:21, 8 марта 2011
Пусть
- процедура слития двух множеств содержащих , , а - поиск корня поддерева содержащего . Рассмотрим операций и операций . Для удобства и без потери общности будем считать принимает в качестве аргументов корни поддеревьев и , то есть заменяем на .Тогда нам надо оценить стоимость операции
. Обозначим - ранг вершины, - отец вершины, - самый первый отец вершины, - количество вершин в поддерева корнем которого являетсяУтверждение: |
Из того как работает функция get следует: 1. 2. Между Записав неравенство из первого пункта вдоль пути из второго пункта следует что и существует путь вида : |
Утверждение: |
Докажем по индукции: Для 0 равенство очевидное. Ранг вершины стает равным при сливании поддеревьев ранга i-1, отсюда следует: . |
Из второго утверждения следует:
1.
2. Количество вершин ранга