Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Binární stromy, AVL stromy. Vyhledávání v souboru klíčdata 2 4 8 1 5 7 3 blabla blo blabla ble blabla bla blabla blu blabla bly blabla blík blabla blíci.

Podobné prezentace


Prezentace na téma: "Binární stromy, AVL stromy. Vyhledávání v souboru klíčdata 2 4 8 1 5 7 3 blabla blo blabla ble blabla bla blabla blu blabla bly blabla blík blabla blíci."— Transkript prezentace:

1 Binární stromy, AVL stromy

2 Vyhledávání v souboru klíčdata blabla blo blabla ble blabla bla blabla blu blabla bly blabla blík blabla blíci ? Časová složitost θ (n)

3 Vyhledávání v indexovaném souboru klíčdata blabla blo blabla ble blabla bla blabla blu blabla bly blabla blík blabla blíci ? Když se to dobře udělá, tak se dosáhne Časové složitosti θ (log n) Indexová struktura

4 Proč je θ (log n) lepší než θ (n) Velikost souboru Počet operací θ (n) Čas (při 10 8 op/s s10 -5 s1 ms10 ms0,1 s1s1 min 40 s 2h 46min 2 týdny Velikost souboru Počet operací θ (log n) Čas (při 10 8 op/s 40ns100 ns 170ns200 ns240 ns270 ns340 ns400 ns470 ns

5 Když je soubor očíslovaný Vstup: Posloupnost A i, i = 0,1,...,N - 1, hodnota X Výstup: Hodnota i, pro kterou A i = X, nebo i = -1, pokud takové A i neexistuje polož ZACATEK = 0, KONEC = N - 1 Dokud je ZACATEK ≤ KONEC opakuj Urči PROSTREDEK jako celou část z (ZACATEK + KONEC)/2 Pokud je A PROSTREDEK < X polož ZACATEK = PROSTREDEK + 1 Jinak Pokud je A PROSTREDEK > X polož KONEC = PROSTREDEK - 1 Jinak polož i = PROSTREDEK a skonči polož i = -1 Pokud budou v souboru indexy 1-n, dosáhnu složitosti θ (log n) Pokud budou indexy rozloženy nerovnoměrně, moc si nepomůžu

6 Binární strom Uzel je buď List (obsahuje hodnotu) Vnitřní uzel – obsahuje hodnotu n Může mít levého a pravého potomka (nebo oba) Všechny uzly v levém podstromu jsou menší než n Všechny uzly v pravém podstromu jsou větší, než n Vyhledávání má složitost θ (hloubka stromu) Otázka je, kolik může být hloubka stromu

7 3 různé binární stromy pro stejnou množinu indexů Hloubka 3 Hloubka 8

8 Dokonale vyvážený binární strom Počet uzlů v levém a pravém podstromu libovolného uzlu se liší maximálně o 1 Není dokonale vyvážený Je dokonale vyvážený 3 5

9 Vložení prvku do dokonale vyváženého stromu Nový prvek 8 Vložení nenarušilo dokonalou vyváženost Bylo provedeno v čase θ (log n)

10 Vložení prvku do dokonale vyváženého stromu Nový prvek 33 θ (log n)

11 AVL stromy Georgij Maximovič Addelson Velskij(*1922 Moskva, žije v Izraeli)) Jevgenij Michajlovič Landis (1921 Charkov-1997 Moskva)

12 AVL stromy Pro každý uzel platí, že hloubka levého a pravého podstromu se liší maximálně o 1 Slabší podmínka, než podmínka dokonalé vyváženosti

13 AVL stromy

14 N(h) – minimální počet prvků ve stromu hloubky h N(1)=1, N(2)=2, N(3)=4 N(h)=1+N(h-1)+N(h-2) Hodnoty N(h) jsou čísla Fibonacciho posloupnosti zvětšená o 1 AVL stromům se říká také Fibonacciho stromy

15 Matematické tvrzení – Prvky Fibonacciho posloupnosti rostou exponencielně se základem d, který je menší než 2. – Prvky posloupnosti h(n) pro dokonale vyvážené stromy rostou exponencielně se základem 2. – Současný nejlepší odhad základu d je asi 1,74. – d je tedy 1,45 x menší, než 2. – Vyhledávání v AVL stromech je tedy maximálně o 45% pomalejší, než vyhledávání v dokonale vyvážených stromech

16 Zařazování do AVL stromů Zařadím prvek 3 Zařazení prvku 3 nenarušilo AVL vlastnost

17 Zařazování do AVL stromů Zařadím prvek 1 Zařazení prvku 1 narušilo AVL vlastnost Provedu „LL rotaci“, přesměrování 2 ukazatelů

18 Zařazování do AVL stromů Zařadím prvek 29 Zařazení prvku 29 narušilo AVL vlastnost Provedu „LR rotaci“, přesměrování 4 ukazatelů (nejsložitější situace) Ještě existuje RR rotace (2 změny) a RL rotace (4 změny)

19 (a,b) stromy Zobecnění pojmu binární strom Každý uzel může mít minimálně a a maximálně b potomků Dají se pro ně definovat pojmy dokonalé vyváženosti a AVL vyváženosti s podobnými vlastnostmi – Jen typy a složitosti AVL rotací jsou jiné a konstanta d má jinou hodnotu než 45 % V obecné informatice se často používají (2,3) stromy, když se udělají šikovně, dá se výrazně omezit výskyt rotací V počítačové grafice nejčastěji (2,4) stromy a (4,4) stromy (4-tree).


Stáhnout ppt "Binární stromy, AVL stromy. Vyhledávání v souboru klíčdata 2 4 8 1 5 7 3 blabla blo blabla ble blabla bla blabla blu blabla bly blabla blík blabla blíci."

Podobné prezentace


Reklamy Google