« poprzedni punkt   następny punkt »



Streszczenie wykładu 08

Drzewa binarnych poszukiwań BST wydają się być lepszą strukturą do przechowywania zbiorów informacji, w której często wykonujemy operację wyszukiwania, niż listy. Średni czas wykonania tej operacji jest w BST logarytmiczny w stosunku do liczby elementów w zbiorze. Jednak ten koszt nie zawsze jest możliwy do osiągnięcia, bo nie zawsze drzewo ma kształt regularny: im bardziej drzewo jest przechylone w jedną stronę, tym gorszy jest koszt wyszukiwania, i w konsekwencji koszt operacji wstawiania i usuwania.

Powstaje pytanie, czy nie można, niedużym nakładem pracy, poprawiać systematycznie drzewo binarnych poszukiwań tak, aby w każdym przypadku koszt operacji wyszukiwania mógł być z góry oszacowany przez logarytm z liczby wierzchołków. Twierdzącą odpowiedź na to pytanie dali Adelson, Velskii i Landis  w 1962 roku, proponując nową strukturę danych: wyważone drzewa BST. Od tej pory pojawiło się wiele innych koncepcji wyważania drzew BST, lub nieco innych struktur drzewiastych wyważonych. W 1970 J. Hopcroft zaproponował tzw. 2-3 drzewa, idealnie wyważone drzewa, w których każdy wierzchołek ma dwa lub trzy następniki. Nieco później,  Bayer wprowadził drzewa zwane B-drzewami, które uogólniają ideę 2-3 drzew i też są doskonale wyważone. Stały się one bardzo popularne w bazach danych. Nieco później, w 1972 roku, Bayer zmodyfikował B-drzewa, otrzymując strukturę, którą obecnie nazywamy drzewami czerwono-czarnymi, stosowanymi np. w implementacjach słowników.  Istnieje jeszcze wiele innych typów drzew wyważonych i sposobów ich wyważania.

W tym wykładzie przedstawimy jedynie ogólne zasady wyważania drzew binarnych, związane ze strukturą AVL. W następnym natomiast poznamy jeszcze inny typ drzew doskonale wyważonych, a mianowicie kopce.

« poprzedni punkt   następny punkt »