Radek Mařík

Podobné dokumenty
Vyvažování a rotace v BVS, všude se předpokládá AVL strom

a) b) c) Radek Mařík

bin arn ı vyhled av an ı a bst Karel Hor ak, Petr Ryˇsav y 23. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

AVL stromy. pro každý uzel u stromu platí, že rozdíl mezi výškou jeho levého a pravého podstromu je nejvýše 1 stromy jsou samovyvažující

BINARY SEARCH TREE

BINARY SEARCH TREE

ADT STROM Lukáš Foldýna

Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620

Adresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce)

Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy

Algoritmy výpočetní geometrie

autoři: Rudolf Bayer, Ed McCreight všechny vnější uzly (listy) mají stejnou hloubku ADS (abstraktní datové struktury)

Definice. B-stromu. B-strom řádu m je strom, kde každý uzel má maximálně m následníků a ve kterém platí:

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

Algoritmy a datové struktury

Datové struktury Úvod

Binární Vyhledávací Stromy, u kterých je. složitost operací v nejhorším. rovná O(log n)

Základní datové struktury III: Stromy, haldy

Vyhledávací stromy. Slouží jako pomůcka pro organizaci dat umožňující efektivní vyhledávání.

Stromy. Jan Hnilica Počítačové modelování 14

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2013/2014 Radim Farana. Obsah. Strom

Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz

Návrh designu: Radek Mařík

Select sort: krok 1: krok 2: krok 3: atd. celkem porovnání. výběr nejmenšího klíče z n prvků vyžaduje 1 porovnání

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) b)

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

B-Stromy. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

Stromy, haldy, prioritní fronty

Základy algoritmizace c2005, 2007 Michal Krátký, Jiří Dvorský1/39

Volné stromy. Úvod do programování. Kořenové stromy a seřazené stromy. Volné stromy

Pokročilé haldy. prof. Ing. Pavel Tvrdík CSc. Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010

Stromy. Jan Kybic.

Amortizovaná složitost. Prioritní fronty, haldy (binární, d- regulární, binomiální, Fibonacciho), operace nad nimi a jejich složitost

Návrh Designu: Radek Mařík

Binární vyhledávací stromy

Dynamicky vázané metody. Pozdní vazba, virtuální metody

ADT prioritní fronta. Haldy. Další operace nad haldou. Binární halda. Binomické stromy. Časová složitost jednotlivých operací.

Semestrální práce 2 znakový strom

Binární vyhledávací stromy pokročilé partie

součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů:

Programování v C++ 1, 16. cvičení

Dynamické programování. Optimální binární vyhledávací strom

Dynamické datové struktury IV.

Teorie grafů BR Solutions - Orličky Píta (Orličky 2010) Teorie grafů / 66

Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A




Red Black strom (Red Black Tree) Úvod do programování. Rotace. Red Black strom. Rotace. Rotace

Algoritmizace prostorových úloh

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

STACK

Základy algoritmizace c2007 Michal Krátký, Jiří Dvorský 1/57

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11

popel, glum & nepil 16/28

Implementace binárního stromu směrníky

2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky

TÉMATICKÝ OKRUH TZD, DIS a TIS

f(x,y) = max ( f(x 1, y 1)+ f(x 1,y) ) + f(x,y 1) +1 jinak f(x,y,z) = f(x 1, y 1, z 1)+ f(x 1,y,z) + f(x,y 1,z) + f(x,y,z 1)+1 jinak

5 Rekurze a zásobník. Rekurzivní volání metody

bfs, dfs, fronta, zásobník, prioritní fronta, halda

Algoritmizace prostorových úloh

ˇ razen ı rychlejˇ s ı neˇ z kvadratick e Karel Hor ak, Petr Ryˇsav y 20. dubna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

Binární vyhledávací stromy II

Algoritmy II. Otázky k průběžnému testu znalostí

Radomíra Duží L Datový typ množina

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Datový typ prioritní fronta Semestrální práce z předmětu 36PT

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

UNIVERZITA PARDUBICE DIPLOMOVÁ PRÁCE

Pokročilá algoritmizace amortizovaná složitost, Fibonacciho halda, počítačová aritmetika

bfs, dfs, fronta, zásobník, prioritní fronta, halda

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5

Anotace. Spojové seznamy, haldy. AVL-stromy, A-B stromy. Martin Pergel,

V ukázce jsou zalomení řádku signalizována znakem a konce odstavců znakem. Nástroje Vkládání odrážek a číslování v nabídce DOMŮ v sekci ODSTAVEC.

Předmět: Algoritmizace praktické aplikace

Cílem kapitoly je seznámit studenta se seznamem a stromem. Jejich konstrukci, užití a základní vlastnosti.

které je z různých pohledů charakterizují. Několik z nich dokážeme v této kapitole.

Složitosti základních operací B + stromu

STROMY A KOSTRY. Stromy a kostry TI 6.1

Základy umělé inteligence

Maturitní téma: Programovací jazyk JAVA

1. D Y N A M I C K É DAT O V É STRUKTUR Y

Zadání druhého zápočtového projektu Základy algoritmizace, 2005

Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout

CVIČNÝ TEST 41. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17

Cvičení 5 - Průchod stromem a grafem

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

Macromedia Flash 8. Druhy animace: Snímek po snímku. F5 vložit snímek (insert frame) F6 vložit klíčový snímek (insert key frame)

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2

3 Algoritmy řazení. prvku a 1 je rovněž seřazená.

Výroková a predikátová logika - II

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů

R zné algoritmy mají r znou složitost

Transkript:

2012-03-20 Radek Mařík

1. Pravá rotace v uzlu U a) v podstromu s kořenem U přemístí pravého syna U.R uzlu U do kořene. Přitom se uzel U stane levým synem uzlu U.R a levý podstrom uzlu U.R se stane pravým podstromem uzlu U, b) v podstromu s kořenem U přemístí levého syna U.L uzlu U do kořene. Přitom se uzel U stane pravým synem uzlu U.L a levý podstrom uzlu U.L se stane pravým podstromem uzlu U, c) v podstromu s kořenem U přemístí pravého syna U.R uzlu U do kořene. Přitom se uzel U stane levým synem uzlu U.R a pravý podstrom uzlu U.R se stane levým podstromem uzlu U, d) v podstromu s kořenem U přemístí levého syna U.L uzlu U do kořene. Přitom se uzel U stane pravým synem uzlu U.L a pravý podstrom uzlu U.L se stane levým podstromem uzlu U.

2. RL rotaci v uzlu u lze rozložit na a) levou rotaci v pravém synovi uzlu u následovanou pravou rotací v uzlu u, b) pravou rotaci v pravém synovi uzlu u následovanou levou rotací v uzlu u, c) levou rotaci v levém synovi uzlu u následovanou pravou rotací v uzlu u, d) pravou rotaci v levém synovi uzlu u následovanou levou rotací v uzlu u.

3. Na obrázku je uveden BVS, který vprůběhu práce vyvažujeme (AVL strom). Ten nyní upravíme tak, že z něj odstraníme operací Delete uzly s klíči 50, 30, 25 v tomto pořadí. Rozhodněte, zda a jaká rotace bude během této úpravy použita.

4. Posloupnost: 13 11 10 6 15 2 4 21 24 17 7 29 Čísla ze zadané posloupnosti postupně vkládejte do prázdného AVL vyhledávacího stromu, který podle potřeby vyvažujete. a)jak bude vypadat takto vytvořený strom? b) Poté odstraňte první tři prvky (míněno odstraňte postupně první vložený, druhý vložený a třetí vložený prvek). Jak bude vypadat výsledný strom? Pokud má odstraňovaný uzel dva potomky, nahrazujte ho vždy uzlem s minimální hodnotou klíče v pravém podstromu odstraňovaného uzlu.

5. Zdůvodněte pravdivost/nepravdivost tvrzení: Existuje AVL strom, v němž levý podstrom kořene obsahuje 4 uzly a pravý podstrom kořene obsahuje alespoň 12 uzlů.

6. Nakreslete AVL strom s 8 číselnými klíči tak, aby po vložení klíče s hodnotou 19 bylo nutno provést a) L rotaci v kořeni, b) L rotaci v uzlu, který není kořenem, c) LR rotaci v kořeni, d) LR rotaci v uzlu, který není kořenem.

7. Docent Omylný tvrdí, že vždy, když se AVL strom vyváží některou z rotací (jednoduchou nebo dvojitou) následující po smazání uzlu, sníží se tím také hloubka celého AVL stromu. Najděte k tomuto tvrzení protipříklad.

8. Předpokládejme, že každý uzel AVL stromu obsahuje reference (ukazatele, pointry) na oba své potomky a na svého rodiče (reference obsahují NIL, pokud příslušné objekty neexistují). a). Určete, kolik maximálně referencí změní svou hodnotu při jednoduché pravé rotaci v takto reprezentovaném AVL stromu. b). Napište funkci, která provede pravou rotaci v uzlu x. Uzel x bude parametrem funkce. Funkce vrátí ukazatel na uzel, který byl před zahájením rotace levým potomkem x. 2012-03-20, Radek Mařík

9. Jaký je minimální možný počet uzlů v AVL stromu s hloubkou 4? (Hloubka kořene je vždy 0). Nakreslete příslušný AVL strom. Pokročilejší varianta: Jaký je minimální možný počet uzlů v AVL stromu s hloubkou D > 0?

B-stromy V tomto cvičení B-strom je řádu k, pokud každý jeho uzel, kromě kořene, musí obsahovat alespoň k klíčů a zároveň může obsahovat nejvýše 2k klíčů. Při mazání klíče ve vnitřním uzlu jej nahradíme vždy nejbližším větším klíčem v celém stromu.

10.. Do B-stromu znázorněného na obrázku vložíme postupně klíče 14, 10. Pak bude kořen obsahovat klíč/klíče...

11. Do B-stromu znázorněného na obrázku vložíme postupně klíče 7, 5. Pak bude kořen obsahovat klíč/klíče...

12. Z B-stromu znázorněného na obrázku odebereme postupně klíče 4, 35. Pak bude kořen obsahovat klíč/klíče... a) 18 b) 18, 28 c) 20 d) 20, 28 e) 28

13. Z B-stromu znázorněného na obrázku odebereme postupně klíče 18, 2. Pak bude kořen obsahovat klíč/klíče... a) 8 b) 8, 16 c) 10 d) 10, 12 e) 13

14. Vybudujte B-strom řádu 1 tak, že do nejprve prázdného stromu vložíte postupně v uvedeném pořadí klíče 18, 31, 59, 20, 23, 24, 36, 60, 58, 15. a) Nakreslete výsledný strom. b) Poté v uvedeném pořadí odstraňte klíče 20, 23, 24, 36, 60. Opět nakreslete výsledný strom.

15. B-strom je řádu 10 a máme do něj umístit 100 000 klíčů. Jaká je maximální a minimální možná hloubka tohoto stromu? Pokročilé: Jaký je maximální a minimální možný počet uzlů tohoto stromu?