vyhledávací stromové struktury

Podobné dokumenty
vyhledávací stromové struktury

Datové struktury 2: Rozptylovací tabulky

Základní informace o předmětu Otázka:

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

Rozptylovací tabulky

Organizace a zpracování dat I

Tabulka. Datová struktura, která umožňuje vkládat a později vybírat informace podle identifikačního klíče. Mohou být:

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

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

Vyhledávání, zejména rozptylování

8.2 Používání a tvorba databází

Návrh designu: Radek Mařík

B Organizace databáze na fyzické úrovni u serveru Oracle

Databáze I. 5. přednáška. Helena Palovská

POZOR klíč NENÍ index (adresa), ale podle klíče se hodnoty ukládají na indexy (adresy).

1. Databázové systémy (MP leden 2010)

Hašování (Vyhledávání metodou transformace klíče)

Algoritmizace prostorových úloh

Třetí skupina zadání projektů do předmětu Algoritmy II, letní semestr 2017/2018

Fyzické uložení dat a indexy

Úvod. Úvod do programování. Úvod. Hashovací tabulky

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Hierarchický databázový model

Algoritmy a datové struktury

Správa přístupu PS3-2

Principy počítačů a operačních systémů

Radek Mařík

Návrh a tvorba WWW stránek 1/14. PHP a databáze

04 - Databázové systémy

Algoritmizace prostorových úloh

George J. Klir Vilem Vychodil (Palacky University, Olomouc) State University of New York (SUNY) Binghamton, New York 13902, USA

2014 Dostupný z Licence Creative Commons Uveďte autora-zachovejte licenci 4.0 Mezinárodní

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

Aplikace. vliv na to, jakou mají strukturu i na to, jak pracné je je vyvinout. Bylo vypozorováno, že aplikace je možné rozdělit do skupin

Relační databázová technologie

Objektově orientované databáze. Miroslav Beneš

2.1.4 Funkce, definiční obor funkce. π 4. Předpoklady: Pedagogická poznámka: Následující ukázky si studenti do sešitů nepřepisují.

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

Obsah. 1.1 Práce se záznamy Stránka Dnes Kontakt se zákazníkem... 5

Databox CONTACT 6 základní operace programu

Databázové systémy. Cvičení 6: SQL

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

Informatika / file system KIT.PEF.CZU

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář

Jazyk C++ II. STL knihovna kontejnery část 2

HASHING GENERAL Hashovací (=rozptylovací) funkce

ALGORITMIZACE. Výukový materiál pro tercii osmiletého gymnázia

Spojová implementace lineárních datových struktur

Principy operačních systémů. Lekce 7: Souborový systém

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

[1] samoopravné kódy: terminologie, princip

Poté se zobrazí evidenční karta nově podávaného dokumentu. Nyní je nutno vyplnit informace o zasílaném dokumentu.

HASHING GENERAL Hashovací (=rozptylovací) funkce

Kapitola 11: Indexování a hešování. Základní představa

Principy operačních systémů. Lekce 2: Správa paměti

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Algoritmizace Hashing II. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Přidělování paměti I Mgr. Josef Horálek

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

ADT/ADS = abstraktní datové typy / struktury

Základní definice Aplikace hašování Kontrukce Známé hašovací funkce. Hašovací funkce. Jonáš Chudý. Úvod do kryptologie

Základy algoritmizace. Hašování

6. Fyzická (interní) úroveň databázového systému

Principy počítačů I Reprezentace dat

Popisné systémy a databáze

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Algoritmus pro generování normálních magických čtverců

Reprezentace dat. INP 2008 FIT VUT v Brně

6. Fyzická (interní) úroveň databázového systému

Relace x vztah (relationship)

Výsledky = = width height 3 width height R + G + B ( )

Potřebovali bychom tedy umět do heše přidávat nové hodnoty, najít hodnotu pro

Lekce 4. Kolekce. Kolekce - seznamy, N-tice a slovníky. C2184 Úvod do programování v Pythonu podzim 2016

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Elegantní algoritmus pro konstrukci sufixových polí

A5M33IZS Informační a znalostní systémy. Relační databázová technologie

Úvod do databázových systémů. Ing. Jan Šudřich

5. POČÍTAČOVÉ CVIČENÍ

PRACOVNÍ SEŠIT MS EXCEL KOMPLET. Optimálním doplňkem stálého vzdělávání jsou elektronické kurzy.

TECHNIKA V POHYBU MACO PROTECT. Návod k obsluze Systém kontroly přístupu. čeština TOUCH

Sada 1 - Základy programování

Elektronický podpis. Elektronický podpis. Digitální podpis. Elektronický podpis x vlastnoruční podpis Dva stupně elektronického podpisu:

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

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í

Zápis z jednání školské rady při Speciální základní škole ve Skutči

Informatika Datové formáty

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0

Chybová hlášení METODIKA MET-01/2014. SZR-56-1/OPICT-2013 počet stran 28 přílohy 0. Nahrazuje:

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

Věta o dělení polynomů se zbytkem

Vyhledávání podle klíčových slov v relačních databázích. Dotazovací jazyky I ZS 2010/11 Karel Poledna

Web of Science. Přednáška kurzu informační a databázové systémy v rostlinolékařství

Na padesátém Praha 10

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

212/2012 Sb. VYHLÁŠKA

Výroková logika syntaxe a sémantika

Transkript:

0.05.0 vyhledávací algoritmy Brute Force, Binary Search, Interpolation Search indexové soubory Dense index, Sparse index, Multilevel index transformační funkce Perfect Hash Close Hash Table Open Hash Table Double Hash Rehash table vyhledávací stromové struktury

0.05.0 rozptylovací (transformační) funkce princip: hodnota klíče = adresa uložení záznamu v tabulce úzký interval hodnot ( ) bez duplicit (pouze unikátní hodnoty) tabulka s přímým přístupem tabulka pro hodnotu klíče vyhrazen jeden řádek tabulky rozsah tabulky určuje rozsah hodnot klíčů 0 Jan 89 Eva hash funkce: Ota p adres tabulky : : : p Jiří p Jana jeden řádek = jeden záznam

0.05.0 Výhody malé časové nároky Nevýhody klíče nenabývají všech hodnot z rozsahu klíčů určité adresy nebudou nikdy využité plýtvání s pamětí horší faktor zaplnění tabulky např. rodná čísla osob z ÚL, db slov v ČJ realizace v praxi těžké dodržet podmínky pro klíče rozsah v intervalu, unikátní hodnoty umělý klíč umělé dodržení podmínek např. evidenční číslo studenta, použití tabulky pro konverzi kódů ASCII, Latin, kód Kamenických, (B) UCS, UTF 8 (B) UTF (B)

0.05.0 realizace v praxi vhodné pro, kde problémy jak zvolit hash funkci, aby rovnoměrně rozdělila klíče? rovnoměrné rozložení hodnot klíčů nelze zaručit jak zařídit, aby v každém řádku tabulky byl právě jeden záznam? perfect hash faktor zaplnění tabulky n = počet záznamů p = počet adres v tabulce perfect hash vytvoříme perfektní hash funkci klíči přiřadí vzájemně jednoznačnou adresu v tabulce vzájemná jednoznačnost není v praxi zaručena v praxi velký rozsah adres tabulky neúměrný počtu záznamů ( ) obtížné nalezení vhodné hash funkce nutná znalost dat (hodnot klíčů) duplicita klíčů hash funkce určí stejnou adresu v tabulce nelze funkce add, del narušuje perfektnost funkce nelze realizovat» naruší tak vzájemnou jednoznačnost

0.05.0 problémy jak rychle spočítat hash funkci? omezení na funkce 98 Jaeschke» lze najít vhodná a,b,c my pro jednoduchost p = prvočíslo, kolize problém vzájemné jednoznačnosti klíče adresa a zároveň Vstupní pole klíčů: 9,, 0, 7, 5 7 0 5 0 0 0,000 7 5

0.05.0 Vstupní pole klíčů: 9,, 0, 7, 0 7 0, 9 9 7 5 9 Vstupní pole klíčů: 9,, 0, 7, 0 7 0,8 7 0

0.05.0 Vstupní pole klíčů: 9,, 0, 7, 0 7 0,9 0 0 7 0 0 Vstupní pole klíčů: 9,, 0, 7, 0 7 0,9 7 7 7 5 0 7 kolize 7

0.05.0 Vstupní pole klíčů: 9,, 0, 7, 0 7 0,57 7 7 7 0 7 7 Vstupní pole klíčů: 9,, 0, 7, 0 7 0,57 7 0 7 kolize 8

0.05.0 Vstupní pole klíčů: 9,, 0, 7, 0 5 5 7 0,7 7 0 7 Vstupní pole klíčů: 9,, 0, 7, 0 0 7 5 5 7 0,7 9

0.05.0 Vstupní pole klíčů: 9,, 0, 7, 0 shluky jsou důsledky kolizí různé způsoby řešení 0 7??? shluk Vstupní pole klíčů: 9,, 0, 7,????? 0 5 5????? 0 0 7??? 5 5 7??? logické mazání evidence smazaných míst 0

0.05.0 obecné časové parametry??? α T opt T pes 0 0,,05,7 0,,5,8 0,5,5,5 0,7 5 0 0,7 vše O.K. rehash Vstupní pole klíčů: 9,,, 7, 5 7 0,, a 0 5 0 0 0,000 7

0.05.0 Vstupní pole klíčů: 9,,, 7, 0 7 0, 9 9 7 5 9 7 Vstupní pole klíčů: 9,,, 7, 0 7 0,9 7 7 7 5 7 kolize 7

0.05.0 Vstupní pole klíčů: 9,,, 7, 0 7 7 0,57 7 7 7 7 7 Vstupní pole klíčů: 9,,, 7, 0 7 7 0,57 7 5 kolize 7

0.05.0 Vstupní pole klíčů: 9,,, 7, 0 kolize 7 kolize 7 0,57 9 7 kolize kolize 7 Vstupní pole klíčů: 9,,, 7, 0 7 5 5 7 0,7 7 5 7

0.05.0 Vstupní pole klíčů: 9,,, 7, 0 7 7 5 5 7 0,7 Vstupní pole klíčů: 9,,, 7, 0 7 shluky jsou důsledky kolizí 5????? shluky 5

0.05.0 Vstupní pole klíčů: 9,,, 7,????? 5 5????? 0 7 0?????? logické mazání evidence smazaných míst obecné časové parametry??? ln α T opt T pes 0 0 0,,05, 0,,,5 0,5,8 0,7,8 0,99,5 00 0 0,7 vše O.K. rehash