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

Rozměr: px
Začít zobrazení ze stránky:

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

Transkript

1 A Tutorial Indexing structures in RDBMs George J Klir Vilem Vychodil (Palacky University, Olomouc) State University of New York (SUNY) Binghamton, New York 1390, USA gklir@binghamtonedu Palacky University, Olomouc, Czech Republic prepared for International Centre for Information and Uncertainty, Palacky University, Olomouc!!!! Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

2 Přehled seminářů 8 listopadu Vilém Vychodil Indexing structures in RDBMs 5 prosince Vilém Vychodil Query execution algorithms in RDBMs 1 prosince Ondřej Vaverka Survey of rank-aware approaches Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, 013 / 31

3 Přehled 1 Organizace dat v relační databázi: pole, záznamy, soubory organizace dat do bloků, typy databázových souborů B-stromy a jejich modifikace: základní fakta vlastnosti vnitřních a listových uzlů, vkládání a mazání hodnot 3 Rozšiřitelné hashovací tabulky: základní principy, hashovací funkce, sloty, stránky, vkládání a mazání hodnot Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

4 Fyzická implementace základních pojmů z RM vycházíme z pojmu (logická vrstva): relace nad relačním schématem relační schéma = konečná množina atributů a jejich typů (domén) n-tice = zobrazení přiřazující atributům hodnoty jejich typů relace = konečná množina n-tic nad daným schématem na fyzické vrstvě musí SŘBD (efektivně) řešit: jak kódovat jména atributů a jejich typy jak kódovat relační schémata jak kódovat n-tice nad relačními schématy jak reprezentovat relace Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

5 Pole, záznamy, soubory pole: sekvence bytů (s pevnou nebo pohyblivou velikostí) kóduje hodnoty atributů (tj hodnoty daných typů) záznam: sekvence polí kóduje n-tice relací záznamy jsou ukládány do diskových bloků (stránek paměti) třeba udržovat hlavičku záznamu (informace o pořadí, jménu a typu položek) soubor ( jiný význam než v op syst): množina bloků obsahující záznamy stejného typu kóduje relaci nad daným schématem uvažujeme nesetříděný / setříděný Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

6 Pole typy kódování atributů daných typů: 1 hodnoty s pevnou velikostí kódu: 8B signed integer (little endian), 8B IEEE 754 double (binary64), 1B ASCII character, dvojice hodnot typu double (kódující bod v rovině), pravdivostní hodnoty, řetězce s omezenou délkou, znaky UTF-8, UTF-16, výčtové typy, hodnoty s pohyblivou velikostí kódu: řetězce bez omezené délky (styl kódování C a/nebo PASCAL), další objekty (obrázky, videa), Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

7 Záznam struktura záznamu: zřetězení jednotlivých polí dodatečná informace (hlavička): (ukazatel na) schéma záznamu délka záznamu časové značky (timestamps) kvůli synchronizaci a souběžnému přístupu typická organizace polí: pole s pevnou délkou jsou řazena jako první následují pole s pohyblivou délkou (délka je zaznamenána v hlavičce) ukazatel na schéma a další informace délka záznamu ID BIRTHDATE NAME ADDRESS Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

8 Záznamy a přetečení bloku problém přetečení bloku záznam se nevejde do aktuálního bloku pokud je záznam menší než blok, je možné alokovat jej v jiném bloku (fragmentace) pokud je záznam větší než blok, je rozdělen do několika bloků udržovaná informace: hlavička záznamu obsahuje příznak: záznam je celý / jedná se o fragment pokud je fragment, jsou zaznamenány další údaje: ukazatel na předchozí fragment ukazatel na další fragment alternativa: velké objekty (BLOBy) se udržují ve skupině (souvislých) bloků pole záznamu pro daný BLOB obsahuje adresy (tabulku adres) bloků Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

9 Typy databázových souborů nesetříděné soubory: typicky: perzistentní halda rychlé operace: vkládání, mazání pomalé operace: restrikce, modifikace (update) setříděné soubory: soubor je udržován jako setříděný pomocí primárního indexu typicky: perzistentní vyhledávací strom rychlé operace: restrikce (a další relační operace) za pomocí indexu pomalé operace: přidávání, mazání a modifikace dat (vše ostatní) primární sekundární indexy: sekundární indexy pomocné indexy podporující často prováděné dotazy problémy s reindexací Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

10 B + -stromy B-stromy: rodina vyvážených stromů (různé modifikace) vlastnosti: automaticky udržují potřebné množství úrovní indexů, kolik je potřeba pro data daného rozsahu spravují záznamy v blocích tak, že každý blok je nejvýš z poloviny prázdný implementační aspekty: perzistentní struktury uzly B-stromů mají velikost celého bloku (několika bloků) rozdíl oproti BVS uzly typicky obsahují několik (desítek) klíčů Bayer R, McCreight, E: Organization and Maintenance of Large Ordered Indexes Acta Informatica 1 (3): (197) Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

11 Základní požadavky na B + -stromy parametr: n (přirozené číslo) n určuje počet možných klíčů a ukazatelů v každém uzlu stromu počet klíčů je n počet ukazatelů je n + 1 v praxi se n určuje z velikosti bloku, záznamů a ukazatelů základní podmínky, které musejí být splněny: 1 vyhledávací klíče v listových uzlech jsou kopie hodnot z datového souboru vyhledávací klíče v listových uzlech se nacházejí setříděné zleva-doprava 3 ukazatele v listech ukazují přímo na záznamy v datovém souboru 4 ukazatele ve vnitřních uzlech ukazují na další uzly stromu 5 kořenový uzel má vždy aspoň dva ukazatele (až na triviální případ, kdy indexujeme pouze jednu hodnotu, pak je kořen zároveň list) Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

12 Listové uzly B + -stromů listové uzly: poslední ukazatel ukazuje na další listový uzel v řadě (hodnoty uspořádané podle klíčů lze pohodlně procházet) ostatní ukazatele ukazují na záznamy (zakódované n-tice) nejméně n+1 ukazatelů (kromě posledního) je využito (i-tý ukazatel ukazuje na záznam i-tého klíče) nevyužité ukazatele jsou napravo od využitých příklad: pro n = Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

13 Vnitřní uzly B + -stromů vnitřní uzly: všech n + 1 ukazatelů může ukazovat na uzly stromu na nižších patrech nejméně n+1 ukazatelů je použito (s výjimkou kořene) pokud je použito j ukazatelů, v uzlu je zapsáno j 1 klíčů s následujícím významem: pro ukazatele P 1,, P j a klíče K 1,, K j 1 platí: P 1 ukazuje na uzel, kde jsou klíče ostře menší než K 1 P i ( i < j) ukazuje na uzel, kde jsou klíče z intervalu [K i 1, K i ) P j ukazuje na uzel, kde jsou klíče větší nebo rovny K j 1 nevyužité ukazatele jsou napravo od využitých k < 3 3 k < k < k Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

14 Příklad B + -stromu pro n = Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

15 Využití B + -stromů v relačních databázích typické využití: 1 implementace primárního klíče (hustý index) implementace řídkého indexu v setříděném souboru vyhledávání jedné hodnoty v B + -stromu: zobecnění principu vyhledávání z BVS vyhledávání hodnoty začíná v kořenu pokud jsme v listovém uzlu, vyhledáme konkrétní hodnotu (binární vyhledávání) pokud jsme ve vnitřním uzlu, sestoupíme o patro níž, které odpovídá intervalu hodnot, do kterého padne aktuální hodnota (binární vyhledávání) vyhledávání intervalů hodnot v B + -stromu: nalezneme hodnotu odpovídající dolní mezi intervalu (nebo listový uzel, ve kterém by hodnota měla být) postupujeme zleva-doprava, dokud nenarazíme na horní mez intervalu Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

16 Modifikace B + -stromů: Vkládání základní schéma: nalezneme listový uzel, do kterého bychom chtěli vložit hodnotu klíče (pokud je v listu místo, úloha je triviální) pokud v daném listovém uzlu není místo (uzel je zaplněný), potom rozdělíme daný uzel na dva uzly, které jsou z poloviny zaplněné vkládaný klíč a hodnota bude v jednom ze dvou vzniklých uzlů potřeba propagovat změnu směrem k rodičovskému uzlu (rozdělení listu znamená přidat jeden klíč do rodiče) pokud je rodičovský uzel plný, rekurzivně pokračujeme s jeho dělením při pokusu vložit klíč do plného kořene je rozdělen kořen na dva (případ, kdy se zvýší výška stromu) Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

17 Příklad vložení hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

18 Příklad vložení hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

19 Příklad vložení hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

20 Příklad vložení hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

21 Příklad vložení hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

22 Příklad vložení hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

23 Příklad vložení hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

24 Příklad vložení hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

25 Příklad vložení hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

26 Modifikace B + -stromů: Mazání konzervativní přístup: data se nemažou vůbec, pouze se označují, jako smazaná (NULL pointer) rychlé, ale databáze může časem bobtnat (operace typu VACUUM) progresivní přístup: vyhledáme listový uzel, ze kterého chceme mazat (pokud po výmazu zůstane aspoň z poloviny zaplněný, úloha je triviální) pokud po výmazu klíče počet ukazateů klesne pod povolenou mez, potom: pokud má levý nebo pravý sourozenec daného uzlu zaplněnu víc než polovinu uzlů, pak můžeme k aktuálnímu uzlu přidat hodnotu ze sourozence (a aktualizovat rodiče) pokud má levý i pravý sourozenec minimální počet ukazetelů, pak sloučíme aktuální uzel s některým jeho levým/pravým sourozencem, dále je třeba: aktualizovat rodičovský uzel (odstranění jednoho ukazatele) případně propagovat změnu dál do stromu pokud by počet ukazatelů v kořenu klesl na 1, zmenšujeme výšku stromu Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

27 Příklad smazání hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

28 Příklad smazání hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

29 Příklad smazání hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, 013 / 31

30 Příklad smazání hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, 013 / 31

31 Příklad smazání hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, 013 / 31

32 Příklad smazání hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, 013 / 31

33 Příklad následného smazání hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

34 Příklad následného smazání hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

35 Příklad následného smazání hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

36 Příklad následného smazání hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

37 Příklad následného smazání hodnoty s klíčem Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

38 Efektivita B + -stromů vyjádření efektivity: podstatné jsou diskové operace (načítání a ukládání bloků/stránek) ve srovnání s tím nepodstatné: reorganizace uzlů probíhající v paměti cena operací pro modifikaci stromu: pro velké hodnoty n (aspoň n 10) platí: výskyt operací rozdělení a slučování uzlů velmi řídký navíc: obvykle jsou operace omezeny na listy a jejich rodiče cena vyhledávání hodnoty: počet diskových operací = výška stromu implementační optimalizace: první dvě patra stromu jsou v paměti řádová složitost vyhledávání/vkládání/mazání: O(log m) (kde m je velikost stromu počet dvojic klíč/hodnota) Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

39 Rozšiřitelné hashovací tabulky rozšiřitelná (a perzistentní) verze hashovacích tabulek: funkce h vrací pro každou hodnotu x vyhledávacího klíče hodnotu h(x) h(x) jsou celá čísla (vyjadřovaná v binárním tvaru) s dostatečným rozsahem (typicky čísla typu integer o velikosti 4 B nebo 8 B) význam: h(x) neurčuje index ( jako u hashovacích tabulek v paměti), ale: pomocí h(x) je vypočítán slot obsahující ukazatel na stránku se záznamy (ve stránce může být záznam s klíčem x) počet slotů dynamicky roste, jeho počet je mocnina parametry algoritmu: h (hashovací funkce) i (aktuální délka binárního prefixu, který se používá na nalezení slotu) Fagin R, Nievergelt J, Pippenger N, Strong H R: Extendible hashing a fast access method for dynamic files ACM Transactions on Database Systems 4 (3): (1979) Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

40 Příklad rozšířitelné hashovací tabulky pro parametry: h vracející čísla typu uint3 i = 1 (počáteční hodnota i) význam čísla v hlavičce bloku: číslo i j udává, kolik bitů je použito pro rozlišení záznamů v rámci bloku Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

41 Vkládání hodnoty: Triviální případ vložení klíče s hashem 0111 : Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

42 Vkládání hodnoty: Triviální případ vložení klíče s hashem 0111 : Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

43 Vkládání hodnoty: Zvětšení počtu slotů vložení klíče s hashem 0101 : Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

44 Vkládání hodnoty: Zvětšení počtu slotů vložení klíče s hashem 0101 : Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

45 Vkládání hodnoty: Zvětšení počtu slotů vložení klíče s hashem 0101 : Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

46 Vkládání hodnoty: Zvětšení počtu slotů vložení klíče s hashem 0101 : Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

47 Vkládání hodnoty: Rozdělení bloků bez zvětšení počtu slotů vložení klíče s hashem 1010 : Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

48 Vkládání hodnoty: Rozdělení bloků bez zvětšení počtu slotů vložení klíče s hashem 1010 : Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

49 Vkládání hodnoty: Rozdělení bloků bez zvětšení počtu slotů vložení klíče s hashem 1010 : Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

50 Rozšířitelné hashovací tabulky: Vkládání a mazání vkládání nových záznamů: 1 triviální, pokud má stránka pro vkládání dost místa pokud je stránka plná a j < i, pak: inkrementujeme j a rozdělíme blok na dva rozdělíme záznamy z výchozího bloku do dvou na základě nového j pokusíme se přidat nový záznam (někdy je třeba proces opakovat) 3 pokud je stránka plná a j = i, pak inkrementujeme i a aplikujeme mazání záznamů: obvykle konzervativní výhody/nevýhody: může být rychlejší při vyhledávání než stromy má režii spojenou s reorganizací pole slotů a rozdělováním stránek narozdíl od stromů: nereprezentuje uspořádání Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

51 Použití zdroje Bayer R, McCreight, E: Organization and maintenance of large ordered indexes Acta Informatica 1 (3): (197) Fagin R, Nievergelt J, Pippenger N, Strong H R: Extendible hashing a fast access method for dynamic files ACM Transactions on Database Systems 4 (3): (1979) Garcia-Molina H, Ullman J, Widom J: Database Systems: The Complete Book Prentice Hall 008, ISBN Lehman P, Yao S: Efficient locking for concurrent operations on B-trees ACM Transactions on Database Systems 6 (4): (1981) Vychodil V (DAMOL) Indexing structures in RDBMs Nov 8, / 31

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

Kapitola 11: Indexování a hešování. Základní představa - 11.1 - Kapitola 11: Indexování a hešování Základní představa Řazené indexy (ordered indices) B+-strom indexový soubor B-strom indexový soubor Hešování Porovnání řazených indexů a hešování Definice indexů

Více

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

Složitosti základních operací B + stromu Složitosti základních operací B + stromu Radim Bača VŠB Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky ŠKOMAM 2010-1- 28/1/2010 Složitosti základních operací B +

Více

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

1. Databázové systémy (MP leden 2010) 1. Databázové systémy (MP leden 2010) Fyzickáimplementace zadáníaněkterářešení 1 1.Zkolikaajakýchčástíseskládáčasprovstupněvýstupníoperaci? Ze tří částí: Seektime ječas,nežsehlavadiskudostanenadsprávnou

Více

Technické informace. PA152,Implementace databázových systémů 4 / 25. Projekty. pary/pa152/ Pavel Rychlý

Technické informace. PA152,Implementace databázových systémů 4 / 25. Projekty.   pary/pa152/ Pavel Rychlý Technické informace PA152 Implementace databázových systémů Pavel Rychlý pary@fi.muni.cz Laboratoř zpracování přirozeného jazyka http://www.fi.muni.cz/nlp/ http://www.fi.muni.cz/ pary/pa152/ přednáška

Více

SQL tříhodnotová logika

SQL tříhodnotová logika SQL tříhodnotová logika Jmeno Prijmeni Student Jaroslav Novák true Josef Novotný false Jiří Brabenec SELECT * FROM OSOBA WHERE Student!= true Jaký bude výsledek? SQL tříhodnotová logika Jmeno Prijmeni

Více

Stromové struktury v relační databázi

Stromové struktury v relační databázi Stromové struktury v relační databázi Stromové struktury a relační databáze Zboží Procesory Paměti Intel AMD DDR DIMM Pentium IV Celeron Duron Athlon http://interval.cz/clanky/metody-ukladani-stromovych-dat-v-relacnich-databazich/

Více

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

Adresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce) 13. Metody vyhledávání. Adresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce). Asociativní vyhledávání (sekvenční, binárním půlením, interpolační, binární vyhledávací

Více

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

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky Otázka 20 A7B36DBS Zadání... 1 Slovníček pojmů... 1 Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky... 1 Zadání Relační DB struktury sloužící k optimalizaci

Více

PA152. Implementace databázových systémů

PA152. Implementace databázových systémů PA152 Implementace databázových systémů RAID level 1 zrcadlení disku výpočet MTTF 2 stejné disky, MTTF 3 roky výměna vadného 3,5 dne výpadek oba disky během 3,5 dne p(výpadku disku za rok) = 1/6 p(výp.

Více

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury Stromy 1 / 32 Obsah přednášky Pole a seznamy Stromy Procházení stromů Binární stromy Procházení BS Binární vyhledávací stromy 2 / 32 Pole Hledání v poli metodou půlení intervalu

Více

Semestrální práce 2 znakový strom

Semestrální práce 2 znakový strom Semestrální práce 2 znakový strom Ondřej Petržilka Datový model BlockFileRecord Bázová abstraktní třída pro záznam ukládaný do blokového souboru RhymeRecord Konkrétní třída záznamu ukládaného do blokového

Více

Databázové systémy Tomáš Skopal

Databázové systémy Tomáš Skopal Databázové systémy Tomáš Skopal fyzická implementace relačních databází Osnova správa disku, stránkování, buffer manager organizace databázových souborů indexování jednoatributové indexy B + -strom, bitové

Více

Datové struktury 2: Rozptylovací tabulky

Datové struktury 2: Rozptylovací tabulky Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy

Více

Dynamické datové struktury IV.

Dynamické datové struktury IV. Dynamické datové struktury IV. Prioritní fronta. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra

Více

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu A Tutorial Advances in query languages for similarity-based databases George J. Klir Petr Krajča State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu Palacky University,

Více

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

Databáze I. 5. přednáška. Helena Palovská Databáze I 5. přednáška Helena Palovská palovska@vse.cz SQL jazyk definice dat - - DDL (data definition language) Základní databáze, schemata, tabulky, indexy, constraints, views DATA Databáze/schéma

Více

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

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 binární vyhledávání a bst Karel Horák, Petr Ryšavý 23. března 2016 Katedra počítačů, FEL, ČVUT Příklad 1 Naimplementujte binární vyhledávání. Upravte metodu BinarySearch::binarySearch. 1 Příklad 2 Mysĺım

Více

Vědecký tutoriál, část I. A Tutorial. Vilém Vychodil (Univerzita Palackého v Olomouci)

Vědecký tutoriál, část I. A Tutorial. Vilém Vychodil (Univerzita Palackého v Olomouci) ..! POSSIBILISTIC Laboratoř pro analýzu INFORMATION: a modelování dat Vědecký tutoriál, část I A Tutorial Vilém Vychodil (Univerzita Palackého v Olomouci) George J. Klir State University of New York (SUNY)

Více

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

Stromy. Jan Hnilica Počítačové modelování 14 Stromy Jan Hnilica Počítačové modelování 14 1 Základní pojmy strom = dynamická datová struktura, složená z vrcholů (uzlů, prvků) propojených hranami hrany chápeme jako orientované, tzn. vedou z uzlu A

Více

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

Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz (2 + 5) * (13-4) * + - 2 5 13 4 - listy stromu obsahují operandy (čísla) - vnitřní uzly obsahují operátory (znaménka)

Více

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

autoři: Rudolf Bayer, Ed McCreight všechny vnější uzly (listy) mají stejnou hloubku ADS (abstraktní datové struktury) definice ( tree) autoři: Rudolf Bayer, Ed McCreight vyvážený strom řádu m ( ) každý uzel nejméně a nejvýše m potomků s výjimkou kořene každý vnitřní uzel obsahuje o méně klíčů než je počet potomků (ukazatelů)

Více

Organizace a zpracování dat I

Organizace a zpracování dat I DBI007 Organizace a zpracování dat I Index-sekvenční a indexovaný soubor 4. přednáška RNDr. Michal Žemlička, Ph.D. Index-sekvenční soubor Přístup k záznamům je možný jak sekvenčně, tak i přímo Části: primární

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

Více

04 - Databázové systémy

04 - Databázové systémy 04 - Databázové systémy Základní pojmy, principy, architektury Databáze (DB) je uspořádaná množina dat, se kterými můžeme dále pracovat. Správa databáze je realizována prostřednictvím Systému pro správu

Více

Reprezentace dat v informačních systémech. Jaroslav Šmarda

Reprezentace dat v informačních systémech. Jaroslav Šmarda Reprezentace dat v informačních systémech Jaroslav Šmarda Reprezentace dat v informačních systémech Reprezentace dat v počítači Datové typy Proměnná Uživatelské datové typy Datové struktury: pole, zásobník,

Více

Základní datové struktury

Základní datové struktury Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013

Více

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

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy TÉMATICKÝ OKRUH Počítače, sítě a operační systémy Číslo otázky : 12. Otázka : Metody fyzické organizace dat Obsah : 1.Úvod 2.Vnější paměti 3.Sekvenční soubory 3.1 Setříděné sekvenční soubory 4.Zřetězené

Více

Stromy, haldy, prioritní fronty

Stromy, haldy, prioritní fronty Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Vyhledávání, vkládání, odstraňování Vyhledání hodnoty v nesetříděném poli Vyhledání hodnoty v setříděném poli Odstranění hodnoty z pole Vkládání hodnoty do pole Verze pro akademický

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

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

6. Fyzická (interní) úroveň databázového systému 6. Fyzická (interní) úroveň databázového systému 6.1. Struktura databázového systému... 2 6.2. Přístup k datům v databázi... 3 6.3. Struktura souborů... 4 6.4. Správa vyrovnávací paměti... 8 6.5. Podstata

Více

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í

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í Stromy 2 AVL AVL stromy jména tvůrců stromů: dva Rusové Adelson-Velskii, Landis vyvážené binární 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

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2006/2007 c 2006 2008 Michal Krátký Tvorba informačních systémů 1/17 Úvod XML

Více

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů Tvorba informačních systémů 1/18 Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009 Tvorba informačních systémů 2/18 Úvod

Více

a) b) c) Radek Mařík

a) b) c) Radek Mařík 2012-03-20 Radek Mařík 1. Čísla ze zadané posloupnosti postupně vkládejte do prázdného binárního vyhledávacího stromu (BVS), který nevyvažujte. Jak bude vypadat takto vytvořený BVS? Poté postupně odstraňte

Více

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

Základní datové struktury III: Stromy, haldy Základní datové struktury III: Stromy, haldy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní

Více

Systém souborů (file system, FS)

Systém souborů (file system, FS) UNIX systém souborů (file system) 1 Systém souborů (file system, FS)! slouží k uchování dat na vnějším paměťovém médiu a zajišťuje přístup ke struktuře dat! pro uživatele možnost ukládat data a opět je

Více

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

6. Fyzická (interní) úroveň databázového systému 6. Fyzická (interní) úroveň databázového systému 6.1. Struktura databázového systému... 2 6.2. Přístup k datům v databázi... 3 6.3. Struktura souborů... 4 6.4. Správa vyrovnávací paměti... 8 6.5. Podstata

Více

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

Algoritmizace Hashing II. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Hashing II Jiří Vyskočil, Marko Genyg-Berezovskyj 010 Srůstající hashování (coalesced hashing) Znám předem počet prvků (odhad) Z důvodů efektivity nechci ukazatele (mezi prvky). Na jednu pozici tabulky

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Třídění, vyhledávání Daniela Szturcová

Více

vyhledávací stromové struktury

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

Více

Maturitní téma: Programovací jazyk JAVA

Maturitní téma: Programovací jazyk JAVA Maturitní téma: Programovací jazyk JAVA Insert Sort (třídění vkládáním) 1. Jako setříděnou část označíme první prvek pole. Jako nesetříděnou část označíme zbytek pole. 2. Vezmeme první (libovolný) prvek

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky

Více

Algoritmy výpočetní geometrie

Algoritmy výpočetní geometrie Algoritmy výpočetní geometrie prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)

Více

Profilová část maturitní zkoušky 2017/2018

Profilová část maturitní zkoušky 2017/2018 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Prioritní fronta, halda

Prioritní fronta, halda Prioritní fronta, halda Priority queue, heap Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2018 1 / 26 Prioritní fronta Halda Heap sort 2 / 26 Prioritní fronta (priority queue) Podporuje

Více

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal Databázové systémy - SQL * definice dat * aktualizace * pohledy Tomáš Skopal Osnova přednášky definice dat definice (schémat) tabulek a integritních omezení CREATE TABLE změna definice schématu ALTER TABLE

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

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

Základy algoritmizace c2007 Michal Krátký, Jiří Dvorský 1/57 Základy algoritmizace Michal Krátký 1, Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Základy algoritmizace, 2006/2007 Základy algoritmizace c2007 Michal Krátký, Jiří Dvorský 1/57

Více

IB111 Úvod do programování skrze Python

IB111 Úvod do programování skrze Python Vyhledávání, řazení, složitost IB111 Úvod do programování skrze Python 2012 Otrávené studny 8 studen, jedna z nich je otrávená laboratorní rozbor dokáže rozpoznat přítomnost jedu ve vodě je drahý (je časově

Více

Informatika / file system KIT.PEF.CZU

Informatika / file system KIT.PEF.CZU Informatika / file system KIT.PEF.CZU kódování znaků Vlastní návrh kódování Chci psát text a napsané chci uložit pro další použití. Co udělám? Odhadnu počet symbolů, které budu chtít kódovat (nezbytný

Více

TGH07 - Chytré stromové datové struktury

TGH07 - Chytré stromové datové struktury TGH07 - Chytré stromové datové struktury Jan Březina Technical University of Liberec 1. dubna 2014 Prioritní fronta Datová struktura s operacemi: Odeber Minum (AccessMin, DeleteMin) - vrat prvek s minimálním

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

Více

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

3 Algoritmy řazení. prvku a 1 je rovněž seřazená. Specifikace problému řazení (třídění): A... neprázdná množina prvků Posl(A)... množina všech posloupností prvků z A ... prvky množiny Posl(A) q... délka posloupnosti Posl(A), přičemž Delka()

Více

TGH07 - Chytré stromové datové struktury

TGH07 - Chytré stromové datové struktury TGH07 - Chytré stromové datové struktury Jan Březina Technical University of Liberec 5. dubna 2017 Prioritní fronta Datová struktura s operacemi: Odeber Minum (AccessMin, DeleteMin) - vrat prvek s minimálním

Více

Jednoduché datové struktury a stromy

Jednoduché datové struktury a stromy 155OB poznámky 2015-10-25 Jednoduché datové struktury a stromy 2015-10-25 1 / 69 Obsah 1 Jednoduché datové struktury a stromy Jednoduché datové struktury Binární stromy AVL stromy Quadtrees a Octrees B-stromy

Více

Datové struktury. Zuzana Majdišová

Datové struktury. Zuzana Majdišová Datové struktury Zuzana Majdišová 19.5.2015 Datové struktury Numerické datové struktury Efektivní reprezentace velkých řídkých matic Lze využít při výpočtu na GPU Dělení prostoru a binární masky Voxelová

Více

Návrh designu: Radek Mařík

Návrh designu: Radek Mařík Návrh designu: Radek Mařík 1. Hashovací (=rozptylovací) funkce a) převádí adresu daného prvku na jemu příslušný klíč b) vrací pro každý klíč jedinečnou hodnotu c) pro daný klíč vypočte adresu d) vrací

Více

Náplň. v.0.03 16.02.2014. - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění

Náplň. v.0.03 16.02.2014. - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění Náplň v.0.03 16.02.2014 - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění Spojení dvou samostatně setříděných polí void Spoj(double apole1[], int adelka1, double

Více

Základy algoritmizace. Hašování

Základy algoritmizace. Hašování Základy algoritmizace Hašování Problematika hašování Hašování - nástroj na jednoduchý způsob "zakódování vstupních dat. Vstupní data jsou zpracována hašovací funkcí jsou jistým způsobem komprimována. Relativně

Více

Databázové systémy Cvičení 5.2

Databázové systémy Cvičení 5.2 Databázové systémy Cvičení 5.2 SQL jako jazyk pro definici dat Detaily zápisu integritních omezení tabulek Integritní omezení tabulek kromě integritních omezení sloupců lze zadat integritní omezení jako

Více

DATABÁZE MS ACCESS 2010

DATABÁZE MS ACCESS 2010 DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,

Více

Datové typy a struktury

Datové typy a struktury atové typy a struktury Jednoduché datové typy oolean = logická hodnota (true / false) K uložení stačí 1 bit často celé slovo (1 byte) haracter = znak Pro 8-bitový SII kód stačí 1 byte (256 možností) Pro

Více

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

2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky 25 Pole Datová struktura kolekce elementů (hodnot či proměnných), identifikovaných jedním nebo více indexy, ze kterých

Více

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

Jazyk C++ II. STL knihovna kontejnery část 2 Jazyk C++ II STL knihovna kontejnery část 2 AR 2013/2014 Jazyk C++ II Asociativní kontejnery Slovníky u kterých pořadí dat nemá smysl. Kontejner si sám určuje, kam který údaj uloží. Údaje mají tvar klíč/hodnota.

Více

Informatika Datové formáty

Informatika Datové formáty Informatika Datové formáty Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008 Obsah Datové formáty (datové typy). Textové formáty, vlastnosti zdroje zpráv. Číselné formáty, číselné

Více

Pole a kolekce. v C#, Javě a C++

Pole a kolekce. v C#, Javě a C++ Pole a kolekce v C#, Javě a C++ C# Deklarace pole typ_prvku_pole[] jmeno_pole; Vytvoření pole jmeno_pole = new typ_prvku_pole[pocet_prvku_pole]; Inicializace pole double[] poled = 4.8, 8.2, 7.3, 8.0; Java

Více

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody 37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody Využití databázových indexů Databázové indexy slouží ke zrychlení přístupu k datům a měly by se používat

Více

Databázové systémy. Úvod do teorie normalizace. Vilém Vychodil

Databázové systémy. Úvod do teorie normalizace. Vilém Vychodil Databázové systémy Úvod do teorie normalizace Vilém Vychodil KMI/DATA1, Přednáška 12 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 12) Úvod do teorie normalizace Databázové systémy 1 / 10 Přednáška

Více

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média - 10.1 - Kapitola 10: Diskové a souborové struktury Přehled fyzických ukládacích médií Magnetické disky RAID (Redundant Array of Inexpensive Disks) Terciární úložiště Přístup k médiu Souborové organizace

Více

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

Binární vyhledávací stromy pokročilé partie Binární vyhledávací stromy pokročilé partie KMI/ALS lekce Jan Konečný 30.9.204 Literatura Cormen Thomas H., Introduction to Algorithms, 2nd edition MIT Press, 200. ISBN 0-262-5396-8 6, 3, A Knuth Donald

Více

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d KMA/PDB Prostorové databáze Karel Janečka Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d Sylabus předmětu KMA/PDB Úvodní přednáška Základní terminologie Motivace rozdíl klasické

Více

1 2 3 4 5 6 součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů:

1 2 3 4 5 6 součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů: Úloha č.: max. bodů: skut. bodů: 1 2 3 4 5 6 součet cvičení celkem 20 12 20 20 14 14 100 známka UPOZORNĚNÍ : a) Písemná zkouška obsahuje 6 úloh, jejichž řešení musí být vepsáno do připraveného formuláře.

Více

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky Komprese dat Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Slovníkové metody Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen 2016 1 / 23 Slovníkové

Více

ADT/ADS = abstraktní datové typy / struktury

ADT/ADS = abstraktní datové typy / struktury DT = datové typy obor hodnot, které může proměnná nabývat, s operacemi na tomto oboru určen: obor hodnot + výpočetní operace např. INT = { 2 147 483 648 až +2 147 483 647} + {+,,*,/,} ADT/ADS = abstraktní

Více

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

Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620 Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620 1. Vymezení pojmů Strom: Strom je takové uspořádání prvků - vrcholů, ve kterém lze rozeznat předchůdce - rodiče a následovníky - syny.

Více

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů. Modely datové Existují různé úrovně pohledu na data. Nejvyšší úroveň je úroveň, která zachycuje pouze vztahy a struktury dat samotných. Konceptuální model - E-R model. Další úrovní je logická úroveň Databázové

Více

Stromové struktury v relační databázi

Stromové struktury v relační databázi Stromové struktury v relační databázi Stromové struktury a relační databáze Zboží Procesory Intel Pentium IV Celeron Paměti AMD Duron DDR DIMM Athlon http://interval.cz/clanky/metody-ukladani-stromovych-dat-v-relacnich-databazich/

Více

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu:

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu: Úvod do databází Základní pojmy Databáze je množina záznamů, kterou shromažďujeme za nějakým konkrétním účelem. Databáze používáme zejména pro ukládání obsáhlých informací. Databázové systémy jsou k dispozici

Více

vyhledávací stromové struktury

vyhledávací stromové struktury 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

Více

Dynamické datové struktury III.

Dynamické datové struktury III. Dynamické datové struktury III. Halda. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované

Více

TÉMATICKÝ OKRUH TZD, DIS a TIS

TÉMATICKÝ OKRUH TZD, DIS a TIS TÉMATICKÝ OKRUH TZD, DIS a TIS Číslo otázky : 13. Otázka : Základní datové struktury (pole, zásobník, binární strom atd.), datové struktury vhodné pro fyzickou implementaci relačních dat v SŘBD (hašovací

Více

Databáze v MS ACCESS

Databáze v MS ACCESS 1 z 14 19.1.2014 18:43 Databáze v MS ACCESS Úvod do databází, návrh databáze, formuláře, dotazy, relace 1. Pojem databáze Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele,

Více

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

Algoritmy II. Otázky k průběžnému testu znalostí Algoritmy II Otázky k průběžnému testu znalostí Revize ze dne 19. února 2018 2 Lineární datové struktury 1 1. Vysvětlete co znamená, že zásobník představuje paměť typu LIFO. 2. Co je to vrchol zásobníku?

Více

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

DobSort. Úvod do programování. DobSort Implementace 1/3. DobSort Implementace 2/3. DobSort - Příklad. DobSort Implementace 3/3 DobSort Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 V roce 1980 navrhl Dobosiewicz variantu (tzv. DobSort),

Více

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

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Dynamické programování Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Rozděl a panuj (divide-and-conquer) Rozděl (Divide): Rozděl problém na několik podproblémů tak, aby tyto podproblémy odpovídaly původnímu

Více

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

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 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 Umíme z minulé hodiny Implementace zásobníku a fronty pomocí

Více

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

Spojová implementace lineárních datových struktur Spojová implementace lineárních datových struktur doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Vyhledávání 201 / 344 Osnova přednášky

Více

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel

Více

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

Základní informace o předmětu Otázka: Základní informace o předmětu Otázka: Proč vůbec porovnávat algoritmy? Vlastnosti algoritmů přirozenost a stabilita algoritmu časová náročnost algoritmu asymetrická a asymptotická časová náročnost algoritmů

Více

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou

Více

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

Návrh a tvorba WWW stránek 1/14. PHP a databáze Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované

Více

k-dimenzionálním prostoru. problém: Zkonstruovat strom, který rozděluje prostor polorovinami

k-dimenzionálním prostoru. problém: Zkonstruovat strom, který rozděluje prostor polorovinami kd-stromy (kd-trees) k čemu to je: ukládání vícerozměrných dat (k-dimenzionální data) vstup: Množina bodů (nebo složitějších geometrických objektů) v k-dimenzionálním prostoru. problém: Zkonstruovat strom,

Více

Fronta (Queue) Úvod do programování. Fronta implementace. Fronta implementace pomocí pole 1/4. Fronta implementace pomocí pole 3/4

Fronta (Queue) Úvod do programování. Fronta implementace. Fronta implementace pomocí pole 1/4. Fronta implementace pomocí pole 3/4 Fronta (Queue) Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Fronta uplatňuje mechanismus přístupu FIFO first

Více

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

Vyvažování a rotace v BVS, všude se předpokládá AVL strom Vyvažování a rotace v BVS, všude se předpokládá AVL strom 1. Jednoduchá levá rotace v uzlu u má operační složitost a) závislou na výšce levého podstromu uzlu u b) mezi O(1) a Θ(n) c) závislou na hloubce

Více

Data v informačních systémech

Data v informačních systémech Informatika 2 Data v informačních systémech EIS MIS TPS strategické řízení taktické řízení operativní řízení a provozu Spojení: e-mail: jan.skrbek@tul.cz tel.: 48 535 2442 Konzultace: pondělí 10 30-11

Více

Rozptylovací tabulky

Rozptylovací tabulky Rozptylovací tabulky Hash tables Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 1 / 31 Rozptylovací tabulka Hash table Rozptylovací tabulka = implementace množiny / asociativního pole

Více

Komprese dat (Komprimace dat)

Komprese dat (Komprimace dat) Komprese dat (Komprimace dat) Př.: zakódovat slovo ARARAUNA K K 2 četnost absolutní relativní A 4,5 N,25 R 2,25 U,25 kód K : kód K 2 :... 6 bitů... 4 bitů prefixový kód: žádné kódové slovo není prefixem

Více

TEORIE ZPRACOVÁNÍ DAT

TEORIE ZPRACOVÁNÍ DAT Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky TEORIE ZPRACOVÁNÍ DAT pro kombinované a distanční studium Jana Šarmanová Ostrava 2003 Jana Šarmanová, 2003 Fakulta

Více