Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

infa_1 / 18.Поиск по сбалансированному дереву

..doc
Скачиваний:
31
Добавлен:
05.06.2015
Размер:
25.09 Кб
Скачать

18.Поиск по сбалансированному дереву.

Поиск по сбалансированному дереву. Сбалансированным называется бинарное дерево, у которого высоты левого и правого поддеревьев каждой из вершин различаются не более чем на единицу. Сбалансированное дерево поиска получило название AVL-дерева в честь его создателей Г.М.Адельсон-Вельского и Е.М.Ландиса. Средняя длина пути поиска в AVL-дереве практически совпадает с длиной в идеально сбалансированном дереве, тогда как поддерживать AVL-деревья намного легче. AVL-дерево можно определить и рекурсивно: 1. Граничное условие: дерево с одной вершиной - это AVL-дерево высоты 0. 2. Рекурсивное условие: AVL-дерево высотой h (h>0) получается путем присоединения к новому корню двух AVL-деревьев, причем высота одного из них должна быть равна h-1, тогда как другому позволяется иметь высоту на единицу меньше, т.е. h-2. Нахождение элемента по ключу в AVL-дереве ничем не отличается от аналогичной процедуры в обычном дереве поиска. Поиск осуществляется целенаправленным движением по ветвям дерева. Если ключ поиска равен ключу в вершине, значит ключ найден и его адрес возвращается через параметр-указатель. Если ключ поиска меньше ключа в вершине, то осуществляется движение вниз влево, в противном случае-вниз вправо. Если в очередной вершине дальнейшее движение вниз невозможно, то это означает, что искомого ключа нет в дереве. Максимальная длина поиска в дереве равна высоте дерева.