Анализ реализации с ранговой эвристикой
Пусть - процедура слития двух множеств содержащих ,, а - поиск корня поддерева содержащего . Рассмотрим операций и операций . Для удобства и без потери общности будем считать принимает в качестве аргументов корни поддеревьев и , то есть заменяем на .
Тогда нам надо оценить стоимость операции . Обозначим - ранг вершины, - отец вершины, - самый первый отец вершины, - количество вершин в поддерева корнем которого является
| Утверждение: |
|
Из того как работает следует: 1. 2. Между и существует путь вида : Записав неравенство из первого пункта вдоль пути из второго пункта следует что |
| Утверждение: |
|
Докажем по индукции: Для 0 равенство очевидное. Ранг вершины стает равным при сливании поддеревьев ранга i-1, отсюда следует: . |
Из второго утверждения следует:
1.
2. Количество вершин ранга
| Теорема: |
Амортизационная стоимость |
| Доказательство: |
|
Рассмотрим некоторое число . Разобьем наши ребра на три класса: 1.Ведут в корень или в сына корня. 2. 3. Все остальные. Обозначим эти классы Амортизированная стоимость , где означает что ребро начало которого находится в было пройдено во время выполнения текущего . Ребро эквивалентно вершине в которой оно начинается. В силу того что получаем . Во время после прохождения K ребер из второго класса Из выше сказанного и первого следствия второго утверждения получаем что . Для того чтоб существовал необходимо чтобы Рассмотрим сумму Из первого утверждения следует cтрого увеличивается при переходе по ребру из Т3. Как максимум через переходов ребро перестанет появляться в классе Т3. . Из второго следствия второго утверждение следует . При . В результате . В силу того что интервал не пустой теорема доказана. |