Binární stromy, AVL stromy

Slides:



Advertisements
Podobné prezentace
Grafové algoritmy.
Advertisements

Komplexní čísla. Komplexní číslo je uspořádaná dvojice [x, y], kde číslo x představuje reálnou část a číslo y imaginární část. Pokud je reálná část nulová,
Zpracování informací a znalostí Datové struktury a algoritmy pro vyhledávání informací Doc. RNDr. Jan Rauch, CSc. Katedra informačního a znalostního.
NEJKRATŠÍ CESTY MEZI VŠEMI UZLY
PLANARITA A TOKY V SÍTÍCH
Stavový prostor. • Existují úlohy, pro které není k dispozici univerzální algoritmus řešení • různé hry • problém batohu, problém obchodního cestujícího.
Projektové řízení Modul č.1.
Cvičení Úloha 1: Rozhodněte zda posloupnost znaků v poli délky n tvoří palindrom (slovo, které je stejné při čtení zprava i zleva). Př.: [a,l,e,l,a] [a,n,n,a]
10. Dynamické datové struktury
Algoritmy a datové struktury
Red-Black Stromy Binární Vyhledávací Stromy, u kterých je časová složitost operací v nejhorším případě rovná O(log n)
Semestrální práce KIV/PT Martin Kales Hana Hůlová.
Fraktálová komprese obrazu
Aplikace teorie grafů Základní pojmy teorie grafů
SQL – tříhodnotová logika
ALGO – Algoritmizace 1. cvičení
základní pojmy posloupností
Algebra.
Základy informatiky přednášky Kódování.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Tento materiál byl vytvořen jako učební dokument projektu inovace výuky v rámci OP Vzdělávání pro konkurenceschopnost VY_62_INOVACE_A1 – 25.
ADT Strom.
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
Metody řazení s lineární časovou složitostí
Skip-List je datová struktura, která může být použita jako náhrada za vyvážené stromy. představují pravděpodobnostní alternativu k vyváženým stromům (struktura.
B-Strom.
Informatika pro ekonomy II přednáška 1
Základní číselné množiny
Základy informatiky přednášky Efektivní kódy.
B-strom je dynamická indexová struktura.
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
BRVKA Leonard Paul Euler (1707 – 1783). Pod označením INVERZNÍ proces chápeme opačný děj, takový, který probíhá opačným směrem, např. tání a tuhnutí.
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
ORIENTOVANÉ GRAFY V této části se seznámíme s následujícími pojmy:
Algoritmy a programovací techniky
Struktura a vlastnosti kapalin
Algoritmy vyhledávání a řazení
Projekt OP VK č. CZ.1.07/1.5.00/ Šablony Mendelova střední škola, Nový Jičín Tento projekt je spolufinancován ESF a státním rozpočtem ČR. Byl uskutečněn.
Stromy.
KIV/PPA1 cvičení 7 Cvičící: Pavel Bžoch. Osnova cvičení Zadání samostatné práce –Vysvětlení nejasností –Způsob odevzdání –Hodnocení Řazení Vyhledávání.
Další abstraktní datové typy
Jaderná energie Jádra atomů.
3. Přednáška posloupnosti
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Spojové struktury BI-PA1 Programování a algoritmizace 1, ZS
Jazyk XML Jazyk pro tvorbu strukturovaných dokumentů Syntaxí velmi podobný HTML Hlavní cíle návrhu: Snadná editace - jazyk je textový Snadné strojové zpracování.
Funkce více proměnných.
STROMY Datová struktura sestávající z uzlů
VLASTNOSTI GRAFŮ Vlastnosti grafů - kap. 3.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Rozhodovací stromy.
Rozpoznávání v řetězcích
Kanonické indexování vrcholů molekulového grafu Molekulový graf: G = (V, E, L, ,  ) Indexování vrcholů molekulového grafu G: bijekce  : V  I I je indexová.
Sylabus V rámci PNV budeme řešit konkrétní úlohy a to z následujících oblastí: Nelineární úlohy Řešení nelineárních rovnic Numerická integrace Lineární.
Prostorové datové struktury
Teorie čísel Prvočíslo Generování prvočísel: Erathosenovo síto
Jak je to s izomorfismem
Programování 3. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015.
ALGEBRAICKÉ STRUKTURY
Výška stromu - algoritmus
STROMY A KOSTRY Stromy a kostry - odst. 3.2.
Znázornění dopravní sítě grafem a kostra grafu Předmět: Teorie dopravy - cvičení Ing. František Lachnit, Ph.D.
Informatika pro ekonomy přednáška 3
ALG 07 Selection sort (Select sort) Insertion sort (Insert sort)
VYHLEDÁVACÍ STROMY AVL strom Operace Find, Insert, Delete
Toky v sítích.
Fronta (1) Dynamická datová struktura typu FIFO (First In First Out)
Algoritmizace a datové struktury (14ASD)
AVL a B-stromy cvičení Radek Mařík.
Transkript prezentace:

Binární stromy, AVL stromy

? Vyhledávání v souboru klíč data 2 4 8 1 5 7 3 Časová složitost θ (n) blablabla blablable blablablo blablablu blablably Časová složitost θ (n) blablablík blablablíci

Vyhledávání v indexovaném souboru klíč data 2 4 8 1 5 7 3 ? blablabla blablable Indexová struktura blablablo blablablu blablably Když se to dobře udělá, tak se dosáhne Časové složitosti θ (log n) blablablík blablablíci

Proč je θ (log n) lepší než θ (n) Velikost souboru 10 1000 100 000 1 000 000 10 000 000 108 1010 1012 1014 Počet operací θ (n) Čas (při 108 op/s 10-7s 10-5s 1 ms 10 ms 0,1 s 1s 1 min 40 s 2h 46min 2 týdny Velikost souboru 10 1000 100 000 1 000 000 10 000 000 108 1010 1012 1014 Počet operací θ (log n) 4 17 20 24 27 34 40 47 Čas (při 108 op/s 40ns 100ns 170ns 200 ns 240 ns 270 ns 340 ns 400 ns 470 ns

Když je soubor očíslovaný Vstup: Posloupnost Ai, i = 0,1,...,N - 1, hodnota X Výstup: Hodnota i, pro kterou Ai = X, nebo i = -1, pokud takové Ai neexistuje polož ZACATEK = 0, KONEC = N - 1 Dokud je ZACATEK ≤ KONEC opakuj Urči PROSTREDEK jako celou část z (ZACATEK + KONEC)/2 Pokud je APROSTREDEK < X polož ZACATEK = PROSTREDEK + 1 Jinak Pokud je APROSTREDEK > X polož KONEC = PROSTREDEK - 1 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

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

3 různé binární stromy pro stejnou množinu indexů Hloubka 3 Hloubka 3 Hloubka 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 3 5 Je dokonale vyvážený Není dokonale vyvážený

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)

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

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

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

AVL stromy

AVL stromy 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

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

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

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ů

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)

(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).