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