Datové struktury Úvod

Podobné dokumenty
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

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

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

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

a) b) c) Radek Mařík

Stromy, haldy, prioritní fronty

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

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

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

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í

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

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

Algoritmy a datové struktury

TGH07 - Chytré stromové datové struktury

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

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í:

Radek Mařík

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

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

TGH07 - Chytré stromové datové struktury

Prioritní fronta, halda

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

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í

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

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

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

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

1. Vyhledávací stromy

BINARY SEARCH TREE

Binární vyhledávací stromy II

ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)

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

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

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

BINARY SEARCH TREE

Datové struktury pro prostorové vyhledávání

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

ADT STROM Lukáš Foldýna

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

Dynamické datové struktury IV.

Návrh Designu: Radek Mařík

ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)

STACK

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

R zné algoritmy mají r znou složitost

Stromy. Jan Kybic.

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

Algoritmy na ohodnoceném grafu

TGH05 - Problém za milion dolarů.

Dynamické datové struktury III.

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

vhodná pro strojové dokazování (Prolog) metoda založená na vyvracení: dokazuje se nesplnitelnost formulí

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

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

Algoritmizace prostorových úloh

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

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

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

TGH05 - aplikace DFS, průchod do šířky

Co když chceme najít i druhý nejmenší prvek? Nebo co když chceme najít k

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

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

DobSort. Úvod do programování. DobSort Implementace 1/3. DobSort Implementace 2/3. DobSort - Příklad. DobSort Implementace 3/3

Algoritmizace prostorových úloh

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

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

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

Deskripční logika. Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157

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

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

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

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

Datové struktury 2: Rozptylovací tabulky

8. Geometrie vrací úder (sepsal Pavel Klavík)

Skip list dokumentace

6. Tahy / Kostry / Nejkratší cesty

Datové struktury 1: Základní datové struktury

TGH08 - Optimální kostry

1 Nejkratší cesta grafem

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

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

Stromové struktury v relační databázi

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

ALG 04. Zásobník Fronta Operace Enqueue, Dequeue, Front, Empty... Cyklická implementace fronty. Průchod stromem do šířky

Operace na datových strukturách

1. Binomiální haldy Zavedení binomiální haldy

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

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

TGH05 - aplikace DFS, průchod do šířky

STROMY A KOSTRY. Stromy a kostry TI 6.1

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

Datový typ. jak se budou data reprezentovat? jaké operace se budou nad daty provádět?

Microsoft, Windows, Plocha, Průzkumník, Adresář,

Operace na datových strukturách

Počítačové šachy. Otakar Trunda

Fyzické uložení dat a indexy

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

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

Rekurzivní algoritmy

Transkript:

Datové struktury Úvod Navrhněte co nejjednodušší datovou strukturu, která podporuje následující operace: 1. Insert a Delete v O(n), Search v O(log n);

Datové struktury Úvod Navrhněte co nejjednodušší datovou strukturu, která podporuje následující operace: 1. Insert a Delete v O(n), Search v O(log n); 2. Insert a Delete v O(n), Predecessor a Successor v O(1);

Datové struktury Úvod Navrhněte co nejjednodušší datovou strukturu, která podporuje následující operace: 1. Insert a Delete v O(n), Search v O(log n); 2. Insert a Delete v O(n), Predecessor a Successor v O(1); 3. Insert a Delete v O(1), Minimum a Maximum(S) v O(n).

Datové struktury Příklad 1 Kĺıč a priorita Mějme prvky tvaru (k, p), kde k je kĺıč a p je priorita. Navrhněte datovou strukturu takovou, aby následující tři operace měly složitost O(log n), kde n je počet prvků ve struktuře. Insert(k, p) pokud prvek s kĺıčem k ve struktuře neexistuje, vloží nový prvek do struktury; pokud už prvek s kĺıčem k existuje, změní jeho prioritu Delete(k) odstraní prvek s kĺıčem k Get(k) najde prvek s nejmenší prioritou z těch, které mají kĺıč k

Datové struktury Příklad 2 Navrhněte datovou strukturu vytvořenou ze sekvence n hodnot x 1,..., x n a která má podporovat následující operaci: Min(i, j) nejmenší hodnota z x i, x i+1,..., x j. Jaký nejlepší poměr časové složitosti vytvoření dané struktury a dotazů Min jste schopni dosáhnout?

Datové struktury Vyváženost stromů Rozhodněte (a dokažte), zda následující podmínky zaručují vyváženost binárních stromů, tj. zda mají všechny binární stromy splňující danou podmínku výšku O(log n), kde n je počet uzlů stromu. 1. Každý uzel je bud list nebo má právě dva potomky.

Datové struktury Vyváženost stromů Rozhodněte (a dokažte), zda následující podmínky zaručují vyváženost binárních stromů, tj. zda mají všechny binární stromy splňující danou podmínku výšku O(log n), kde n je počet uzlů stromu. 1. Každý uzel je bud list nebo má právě dva potomky. 2. Velikost každého podstromu je právě 2 k 1, kde k N. (k nemusí být stejné pro všechny podstromy.)

Datové struktury Vyváženost stromů Rozhodněte (a dokažte), zda následující podmínky zaručují vyváženost binárních stromů, tj. zda mají všechny binární stromy splňující danou podmínku výšku O(log n), kde n je počet uzlů stromu. 1. Každý uzel je bud list nebo má právě dva potomky. 2. Velikost každého podstromu je právě 2 k 1, kde k N. (k nemusí být stejné pro všechny podstromy.) 3. Existuje 0 < c < 1 takové, že pro každý uzel platí, že velikost jeho menšího podstromu je alespoň cnásobek velikosti jeho většího podstromu. (Má-li uzel jen jednoho potomka, uvažujeme, že jeho menší podstrom má velikost 0).

Datové struktury Vyváženost stromů Rozhodněte (a dokažte), zda následující podmínky zaručují vyváženost binárních stromů, tj. zda mají všechny binární stromy splňující danou podmínku výšku O(log n), kde n je počet uzlů stromu. 1. Každý uzel je bud list nebo má právě dva potomky. 2. Velikost každého podstromu je právě 2 k 1, kde k N. (k nemusí být stejné pro všechny podstromy.) 3. Existuje 0 < c < 1 takové, že pro každý uzel platí, že velikost jeho menšího podstromu je alespoň cnásobek velikosti jeho většího podstromu. (Má-li uzel jen jednoho potomka, uvažujeme, že jeho menší podstrom má velikost 0). 4. Existuje c takové, že pro každý uzel platí, že výška podstromů jeho dvou potomků se liší maximálně o c.

Datové struktury Vyváženost stromů Rozhodněte (a dokažte), zda následující podmínky zaručují vyváženost binárních stromů, tj. zda mají všechny binární stromy splňující danou podmínku výšku O(log n), kde n je počet uzlů stromu. 1. Každý uzel je bud list nebo má právě dva potomky. 2. Velikost každého podstromu je právě 2 k 1, kde k N. (k nemusí být stejné pro všechny podstromy.) 3. Existuje 0 < c < 1 takové, že pro každý uzel platí, že velikost jeho menšího podstromu je alespoň cnásobek velikosti jeho většího podstromu. (Má-li uzel jen jednoho potomka, uvažujeme, že jeho menší podstrom má velikost 0). 4. Existuje c takové, že pro každý uzel platí, že výška podstromů jeho dvou potomků se liší maximálně o c. 5. Průměrná hloubka uzlu je O(log n). (Hloubka uzlu je vzdálenost od kořene.)