Hierarchick e indexy, B / B+ stromy, tries

Podobné dokumenty
Hierarchick e indexy, B / B+ stromy, tries

Hierarchick e indexy, B / B+ stromy, tries

Sekven cn soubory. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Hasov an (hashing) na vn ejsch pam etech

Distribuovan e algoritmy

Rzen informacn bezpecnosti v organizaci

Rzen informacn bezpecnosti v organizaci

Soubor, souborov e organizace

Prklad dokumentov e z akladny ISMS

Obnova transakc po v ypadku

Obnova transakc po v ypadku

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

Uvod, celkov y prehled problematiky

Uvod, celkov y prehled problematiky

Vl akna. PB 152 Operacn syst emy. Jan ÐStaudek Verze : jaro 2015

GPDR, General Data Protection Regulation

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

Prepn an, switching. Propojovac probl em. PV 169 Z aklady prenosu dat. Prepnac, prepnan a st' Metody prepn an

Projekt implementace ISMS

Informacn teorie. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Projekt implementace ISMS Dodatek 1, PDCA

Soubor, souborov e organizace

Podsyst em vstupu a v ystupu

Spr ava hlavn pam eti

Spr ava hlavn pam eti

Stromy, haldy, prioritní fronty

Soubor, souborov e organizace

Politika informacn bezpecnosti, Dodatek

Politika informacn bezpecnosti, Dodatek

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

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

Procesy. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

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

Volba v udce, Leader Election

Volba v udce, Leader Election

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

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

Virtu aln pam et' PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

X u zs speci kace { v etev matematiky zabyvaj. Verze : jaro 2018 Jan Staudek, FI MU Brno. X late Middle English

Digit aln vysl an. PV 169 Z aklady prenosu dat. Jan Staudek Verze : podzim 2018

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.

Datové struktury Úvod

Vl akna. Proces a vl akna. PB 152 Operacn syst emy. Resen editoru pomoc vl aken. Koncept sekvencnho procesu m uze b yt neefektivn

4.3 Operace nad ordin ln mi datov mi typy Operace nad logick m datov m typem Operace nad celo seln mi datov mi typy

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

Základní pojmy teorie grafů [Graph theory]

Procesy. Uvodem k proces um. PB 152 Operacn syst emy. Program a proces. Uvodem k proces um

Stromové struktury v relační databázi

Algoritmizace prostorových úloh

Digit aln vysl an. K odov an spoje. PV 169 Z aklady prenosu dat. Prvek sign alu, prvek dat, stupe n sign alu. Stupe n dat, baudov a / bitov a rychlost

Politika informacn bezpecnosti

Datové struktury 2: Rozptylovací tabulky

Audit (prezkoum av an) bezpecnostnch opatren, politik, syst em u,...

ALGORITMY A DATOVÉ STRUKTURY

Prklady opatren, zranitelnost a hrozeb

Satelitn komunikace. PA 151 Soudob e ste. Jan Staudek Verze : jaro 2018

Projekt implementace ISMS

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

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

GRAFY A GRAFOVÉ ALGORITMY

TGH07 - Chytré stromové datové struktury

Aplikacn bezpecnost. Informacn bezpecnost z pohledu aplikacnch syst em u. PV 017 Bezpecnost informacnch technologi

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

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í

Dynamické datové struktury III.

Audit (prezkoum av an) bezpecnostnch opatren, politik, syst em u,...

Metody síťové analýzy

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

Algoritmizace prostorových úloh

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

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

Distribuovan e prostred, cas a stav v distribuovan em prostred

Aplikacn bezpecnost. PV 017 Bezpecnost informacnch technologi. Jan Staudek Verze : podzim 2017

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

Projekt implementace ISMS, Dodatek 2, Pozn amky k projektov emu rzen

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

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

Stromové struktury v relační databázi

Operacn syst emy { prehled

Distribuovan e prostred, cas a stav v distribuovan em prostred

5 Orientované grafy, Toky v sítích

Operacn syst emy { prehled

Poctacov e syst emy { prehled

TGH07 - Chytré stromové datové struktury

Bezs n urov a telefonie, DECT

Úvod do teorie grafů

Grafové algoritmy. Programovací techniky

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

Grafové algoritmy. Programovací techniky

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

Semestrální práce 2 znakový strom

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

SQL tříhodnotová logika

Sign aly. PV 169 Z aklady prenosu dat. Jan Staudek Verze : podzim 2018

Algoritmizace prostorových úloh

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

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

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í

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

Pl anov an. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Transkript:

Hierarchick e indexy, B / B+ stromy, tries PV 062 Organizace soubor u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2018

Osnova predn asky V yklad pokrocil e technologick e b aze pouzvan e pro indexov an z aznam u v souboru Grafy, stromov a grafov a struktura, vyhled avac strom B stromy B+ stromy tries B azov a technologie indexov an z aznam u soubor u na vnejs pameti line arn indexy, tj. tabulky, resp. hierarchie tabulek, neb yv a vzdy efektivn. Cl { bez ohledu na rozsah souboru vyresit dotaz nekolika m alo operacemi bez aplikace hasov an Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 1

Indexy na b azi vyhled avacch strom u Indexov an { mechanismus pro resen odpov edi na dotaz zjist'ujc hodnotu z aznamu, jehoz klc vyhovuje zadan e podmnce mechanismus { sekund arn soubor ve sch ematu organizace souboru { line arn index { tabulka { hierarchick y index indexsekvencn organizace { index na b azi vyhled avacho stromu line arn index je pro vn ejs pam eti nefektivn b yv a statick y, b yv a rozs ahl y hierarchick y index indexsekvencn organizace je v podstat e rovn ez statick y Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 2

Indexy na b azi vyhled avacch strom u indexy na b azi vyhled avacch strom u jsou alternativn organizac v uci index-sekvencn organizaci soubor u, ob e organizace zefektiv nuj resen dotazu nad souborem ob e organizace podporuj resen dotazu pro prpad jedin eho dotazovacho klce udrzov anm sekund arnho souboru { indexu ALE... Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 3

Probl em doby prohled av an rozs ahl ych index u lze resit vce urov nov ymi indexy, snizuje se pocet potrebn ych diskov ych prstup u { 3x pro index (4. urove n je v RAM), 1x pro data { sekund arn data zabraj 10 % pam eti, vynikajc zisk Kdyz se do indexu vloz nejmens klc ze vsech klc u a indexov e bloky jsou pln e, predel av a se uspor ad an 888 000 indexov ych blok u { neprijateln a cena Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 4

Negativa rozs ahl e / statick e indexov e struktury statick y index velmi neefektivn pro dynamick e soubory, reorganizace indexu jsou casov e n arocn e, b ehem reorganizace nejsou data dostupn a reorganizace se mus d elat,,mimo pracovn dobu" { nevhodn e pro provoz 24x7 (rezervace letenek, bankomaty) co delat, kdyz index je prlis rozs ahl y? nelze jej umstit do RAM disk je pomal y na sekvencn prohled av an line arnho indexu resenm je napr. vce urov novost indexu { velmi neefektivn pro dynamick e soubory Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 5

Proc nestac index-sekvencn organizace? z akladn nedostatky index-sekvencn organizace souboru jej vyhled avac v ykon kles a s (velk ym) r ustem souboru, { vytv ar se mnoho pretokov ych blok u { mus se periodicky prov ad et rezijn e n akladn a reorganizace souboru kles a jej efektivita vyuzv an prid elen e pam eti pri rusen z aznam u souboru { mus se periodicky prov ad et rezijn e n akladn a reorganizace souboru Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 6

Grafy, pripomenut z akladnch pojm u Graf G = (V, E) V { konecn a nepr azdn a mnozina uzl u a E { mnozina hrana propojujcch uzly z V hrana, orientovan a hrana, orientovan y graf (digraph) dvojice (v, w), kde v a w jsou prvky V reprezentace vztahu (relace) mezi dvojic objekt u (uzl u) orientovan a hrana { uspor adan a dvojice uzl u (v, w) orientovan y graf { graf s orientovan ymi hranami neorientovan y graf zvl astn prpad orientovan eho grafu ke kazd e orientovan e hrane (v, w) existuje i hrana (w, v) { tak e tzv. oboustranne orientovan a hrana { (v, w) a (w, v) je t az (neorientovan a) hrana, { porad uzl u propojen ych neorientovanou hranou je irelevantn Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 7

Grafy, pripomenut z akladnch pojm u sousedn uzly v je sousedn s w, kdyz v grafu existuje hrana (v, w) Stupe n uzlu (degree) pocet hran, kter e s uzlem inciduj U orientovan ych graf u lze rozlisovat vstupn stupe n (indegree) a v ystupn stupe n (outdegree). Vstupn stupe n = pocet hran, kter e jsou orientov any smerem do uzlu, V ystupn stupe n = pocet hran, kter e jsou orientov any smerem z uzlu. arita, v ystupn stupe n pocet vystupujcch hran z uzlu bin arn graf (2 vystupujc hrany),..., m- arn (m vystupujcch hran) paraleln hrany hrany zacnajc a koncc ve shodn ych uzlech Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 8

Grafy, pripomenut z akladnch pojm u cesta posloupnost uzl u, mezi kter ymi vede posloupnost hran d elka cesty = pocet hran, kter e cesta obsahuje, tj. pocet uzl u takov e posloupnosti { 1 cyklus cesta, kter a zacn a a konc ve stejn em uzlu smycka cyklus tvoren y jedinou hranou, kter a zacn a a konc v tomt ez uzlu Smycka zvysuje stupe n uzlu o dve jednoduch a cesta z adn y z uzl u na ceste se neopakuje Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 9

Grafy, pripomenut z akladnch pojm u Ohodnocen y graf hrana { reprezentace vztahu mezi uzly v aha, ohodnocen hrany { kvantitavn ohodnocen vztahu Souvisl y graf graf, v nemz plat, ze pro kazd e jeho dva vrcholy x, y existuje alespo n jedna cesta z x do y Acyklick y graf z adn a cesta v acyklick em grafu nen cyklem Jednoduch y graf orientovan y acyklick y graf, DAG, Directed Acyclic Graph graf neobsahujc cykly, smycky a n asobn e (paraleln) hrany Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 10

Grafy, pripomenut z akladnch pojm u strom neorientovan y souvisl y acyklick y graf, stromem se naz yvaj souvisl e grafy, kter e neobsahuj cykly odebr anm jedn e hrany ve stromu je porusena souvislost prid anm jedn e hrany vznikne cyklus Strom je minim aln souvisl y graf na dan ych vrcholech. Pro stromy plat, ze pocet hran je o jedna mens nez poctu uzl u. Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 11

Grafy, pripomenut z akladnch pojm u korenov y strom Korenov y strom je orientovan y strom, jehoz uzly maj vstupn stupe n roven jedn e az na jeden uzel, kter y ho m a roven nule. Tento speci aln uzel se naz yv a koren (root). korenov y strom je hierarchick a neline arn struktura pokud nerekneme jinak, ch apeme pod pojmem strom pojem korenov y strom uzly na kazd e ceste jsou razeny do vztah u typu rodic-potomek { z rodice vede hrana (cesta) k potomkovi kazd y potomek m a pr ave jednoho rodice ex. jeden v yznacn y vrchol { koren, o kter em plat, ze je jedin ym uzlem v grafu bez rodice (ve stromu se nach az pr ave jeden koren) uzel stromu bez potomka je listem, resp. vn ejsm nebo tak e koncov ym uzlem uzel stromu, kter y m a alespo n 1 potomka a nen korenem, je vnitrnm uzlem cesta z korene do listu se naz yv a vetev stromu Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 12

Grafy, pripomenut z akladnch pojm u podgraf H = (V H, E H ) grafu G = (V G, E G ) V H je podmnozinou V G a E H je podmnozinou E G kostra grafu G podgraf H grafu G, kter y je strom a plat V H = V G podstrom c ast stromu tvoren a jednm uzlem (korenem podstromu) a vsemi jeho potomky m uze b yt ch ap an jako kompletn strom s am o sobe kazd y uzel ve stromu m uze tvorit koren podstromu Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 13

Strom Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 14

Charakteristiky strom u hloubka uzlu ve stromu: hu = 0, 1,... d elka cesty vedouc od korene stromu k uzlu hloubka korene = 0 hloubka prm eho potomka korene = 1,... urove n ve stromu mnozina uzl u stromu se stejnou hloubkou uzlu hu koren je na urovni 0 kazd a urove n d obsahuje nejv yse k d uzl u, kde k je arita stromu { v bin arnm stromu m a kazd a urove n obsahuje nejv yse 2 d uzl u Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 15

Charakteristiky strom u hloubka stromu: K = 1, 2,..., n pocet urovn stromu hloubka nejvzd alen ejsho listu od korene + 1 Srka stromu na jist e urovni pocet uzl u na stejn e urovni Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 16

Charakteristiky strom u V yska stromu: h = K 1 maxim aln hloubka uzlu ve stromu v yska stromu pouze s korenem je 0 Strom m a nejmens moznou v ysku pr ave tehdy, kdyz na vsech urovnch krome posledn m a pln y (maxim alne mozn y) pocet uzl u Pri sestavov an strom je mnohdy d ulezit e sestavovat stromy s nejmens moznou v yskou, protoze tm se zajist minim aln d elky cest k uzl um (zvl aste k list um) Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 17

Charakteristiky strom u Vyv azen y strom vyvazov an { rovnomern e rozkl ad an uzl u v urovnch cl vyv azen: { v kazd e urovni krome posledn, m a maxim alne mozn y pocet uzl u, ({ a v posledn urovni m a uzly co nejvce vlevo) m a nejmens moznou v ysku pri dan e arite a dan em poctu uzl u Uspor adan y strom strom, ve kter em jsou vsichni prm potomci kazd eho uzlu serazeni pokud uzel m a n prm ych potomk u, lze urcit prvnho prm eho potomka, druh eho prm eho potomka, az n-t eho prm eho potomka Neuspor adan y strom strom v cist e struktur alnm smyslu pro dan y uzel nejsou jeho prm potomci uspor adan Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 18

Bin arn strom konecn a mnozina uzl u, kter a je bud'to pr azdn a nebo obsahuje koren a dva disjunktn bin arn (pod)stromy { lev y podstrom a prav y podstrom pocet uzl u n upln eho bin arnho stromu o K urovnch (v ysce h) h K 1 n = 2 i = 2 i i=0 opacn a uloha { pocet urovn K bin arnho stromu o n uzlech je-li vyv azen y pak K min = log 2 (n + 1), d ale plat K max = n K min n 1 1 2 2, 3 3 4, 5, 6, 7 4 8, 9, 10, 11, 12, 13, 14, 15 i=0 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 19

Bin arn strom Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 20

Bin arn stromy Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 21

Bin arn strom Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 22

Bin arn stromy, prklady aplikac stromy v yraz u data (operandy, oper atory) obsahuj jak vnitrn uzly tak i vn ejs uzly i koren Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 23

Bin arn stromy, prklady aplikac strom Humanova k odov an data (k odov a slova) reprezentuj pouze vn ejs uzly hrany jsou systematicky ohodnoceny 0 a 1 bin arn k od kazd eho listu je d an retezem ohodnocen hran na ceste z korenu do dan eho listu Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 24

Bin arn stromy, prklady aplikac bin arn vyhled avac strom, BVS, v roli indexu typicky se jedn a se o redundantn BVS { nekter e klce se vyskytuj jak ve vnitrnm uzlu tak i v listu koren a vnitrn uzly hraj roli navig ator u k list um { z aznam um data (ukazatele na data) obsahuj pouze vn ejs uzly, listy v korenu a ve vnitrnch uzlech je obsazen y klc, + prpadne nejak a dals data Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 25

Bin arn stromy, prklady aplikac (pokrac.) Napr. implementace slovnku pomoc redundantnho BVS (ukazatele na) hesla, pojmy (z aznamy) jsou ulozeny ve vn ejsch uzlech BVS pln funkci indexu slovnku, klce jsou v BVS uspor adan e: { klce v lev em podstromu jsou klc v korenu podstromu a { klc v korenu podstromu je mens nez klce v prav em podstromu uveden y prklad indexu slovnku m a 4 urovne, v ysku 3, 3 vnitrn uzly a koren a 5 vnejsch uzl u jedn a se o prklad,,redundantnho"bvs, tzv. hranicn klce jsou uvedeny jak v korenu a ve vnitrnch uzlech, tak i ve vnejsch uzlech Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 26

Bin arn vyhled avac strom, BVS uzly jsou uspor ad any tak, aby bylo mozn e rychle vyhled avat danou hodnotu reprezentovanou uzlem { klc Kazd emu uzlu je prirazen urcit y klc Podle hodnot techto klc u jsou uzly uspor ad any Lev y podstrom uzlu obsahuje pouze klce mens nez je klc tohoto uzlu Prav y podstrom uzlu obsahuje pouze klce v ets nez je klc tohoto uzlu Vyhled av an v BVS Zacn a zpravidla v koreni V kazd em kroku se porovn a hledan a hodnota { klc s klcem zkouman eho uzlu Pokud jsou si rovny, hodnota byla nalezena Je-li hledan a hodnota mens, pokracuje hled an v lev em podstromu Je-li hledan a hodnota v ets, pokracuje hled an v prav em podstromu Kdyz vyhled avac algoritmus naraz na neexistujc uzel (dotycn y podstrom je pr azdn y) strom hledanou hodnotu neobsahuje Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 27

Probl em vyv azen BVS uvazme neredundatn BVS nejhors doba vyhled av an v upln em v yskove vyv azen em stromu s n uzly odpovd a poctu urovn, tj. log 2 (n + 1) Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 28

Dobr e heuristiky pro vyhled avac stromy { obecn e casto zprstup novan e klce v neredundantnm stromu by m ely b yt umsteny blzko ke korenu pro kazd y uzel plat, ze jeho lev y a prav y podstrom obsahuje t emer stejn y pocet uzl u Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 29

N ahrada statick e indexov e struktury dynamickou strukturou pozadovan e vlastnosti dynamick e indexov e struktury mus umoznit data vkl adat / rusit pri minim aln n arocnosti reorganizace mus b yt implementovateln e na disku vhodn y tip resen { vyv azen e vyhled avac stromov e struktury BVS, bin arn vyhled avac strom (je nevhodn y pro malou aritu) m- arn vyhled avac strom Kruci aln probl em jak zajistit dynamicky udrzovatelnou vyv azenost pri minim alnch ztr at ach reorganizacemi stromu? Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 30

Pozadovan e vlastnosti indexu na disku bin arn hled an nen pro disky optim aln vyhled avac strategie 3 az 4 vystaven disku pri hled an v indexu je na mezi prijatelnosti bin arn hled an na 4 kroky lze hledat mezi 16 polozkami bin arne prohlzen y index s 10 3 polozkami vyzaduje az 10 vystaven Vkl ad an a rusen klc u mus b yt stejne rychl e jako hled an klasick a udrzba index u v RAM je pro vnejs pameti neakceptovateln a, po vlozen/rusen se v indexu sm vyvolat pouze lok aln zm eny v minim aln e mozn em okol modikovan e polozky, reorganizaci cel eho indexu akceptovateln y pr umer je modikace cca do 5 ukazatel u Poznámka: optim aln indexov an lze pochopiteln e resit rovn ez hasov anm viz predn aska o hasov an Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 31

Indexy na b azi (vyhled avacch) B strom u Prednost organizac soubor u s indexem na b azi B stromu B-strom je vyv azen a stromov a struktura, vetve maj shodnou d elku sekund arn soubor s indexem se pri vkl ad an a rusen z aznam u reorganizuje pomoc mal ych lok alnch zm en v grafov e strukture, pro udrzen v ykonu nen potreba reorganizovat prim arn soubor { soubor prim arnch dat nen potreba uspor ad avat Siroce se pouzvaj v mnoha aplikacch B strom je standardn metoda organizace index u v b azch dat Existuje vce verz B strom u, v praxi jsou pro velk e soubory nejrozsrenejs B + stromy Adres are syst emu NTFS jsou budovan e na b azi B + stromu Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 32

Indexy na b azi (vyhled avacch) B strom u Prednosti index u budovan ych na b azi B strom u prevazuj nad jejich nedostatky vyss prostorov a rezie { ale index se pamatuje na vnejs pameti dodatecn a casov a rezie zp usobovan a stepenm a svl ev anm uzl u grafu Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 33

Dynamick e vce urov nov e indexy na b azi m- arnch strom u presneji { na b azi m- arnch vyhled avacch strom u, resp. vyhled avacch strom u s vetvenm r adu m, kde m > 2 V prirozen e interpretaci rozsren pojmu BVS ve vnitrnm uzlu m a vce nez 1 klc v kazd em uzlu jsou klce uspor adan e pro kazd y sousedn p ar klc u existuje podstrom obsahujc klce s hodnotami lezcmi mezi hodnotami tohoto p aru existuje podstrom uzlu obsahujc klce mens nez nejmens klc v uzlu existuje podstrom uzlu obsahujc klce v ets nez nejv ets klc v uzlu Proc m- arn vyhled avac strom? zv etsov anm arity pri zachov an poctu uzl u a vlastnosti vyv azenosti se dosahuje snizov an v ysky stromu d usledkem je urychlen vyhled av an dky snizov an potrebn eho poctu vyhled avacch krok u { diskov ych operac pri pr uchodu v etv stromu tudz efektivn technika pro implementaci indexu souboru Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 34

m- arn vyhled avac strom, ilustrace struktury uzlu Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 35

Dynamick e vce urov nov e indexy na b azi m- arnch strom u uzel m- arnho vyhled avacho stromu obsahuje strukturu < p 0, K 1, p 1, K 2,..., p n 1, K n, p n >, resp. < p 0, K 1, r 1, p 1, K 2, r 2..., p n 1, K n, r n, p n >, kde K 1 < K 2 <... < K n jsou vyhled avac klce p 0, p 2,..., p n jsou ukazatel e potomkov ych uzl u (vyhled avacch podstrom u) nebo pr azdn e ukazatele Je-li K vyhled avac klc v podstromu odkazovan em p i pak plat: je -li p i = p 0,pak K < K 1 je -li p i = p n,pak K > K n je -li p i = p 1,..., p n 1,pak K i < K K i+1 [r 1, r 2,..., r n jsou data nebo ukazatele na data souvisejc s klci K i ] pocet v ystupnch hran uzlu je m, tudz pocet vyhled avacch klc u v uzlu je n m 1 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 36

m- arn vyhled avac strom, probl em nevyv azenosti Vlozenm klc u 1, 2, 3,..., 14,15 do 4- arnho vyhled avacho stromu vznikne struktura uveden a vlevo na obr azku degenerovan y, nevyv azen y strom, slozitost hled an O(n) vhodnejsm v ysledkem by byl strom uveden y vpravo { vyv azen y 4- arn vyhled avac strom vyhled an probehne nejh ure ve 2 krocch, slozitost hled an O(log 4 n) jak udrzet m- arn vyhled avac strom vyv azen y? { pomoc technologie B-strom u Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 37

B-strom B-strom nen ani Bin arn strom, ani Balanced tree!!! B-strom { Bayer & McCreight tree, 1972, Bayer uv strom B-strom r adu m je m- arn vyhled avac strom s vlastnostmi je to korenov y strom s jist ym poctem vnitrnch uzl u a vnejsch, koncov ych uzl u, list u Kazd y uzel obsahuje alespo n jeden klc, kter y jednoznacn e identikuje z aznam v souboru a vnitrn uzel alespo n dva ukazatele na potomkov e uzly nebo listy. Pocet klc u a ukazatel u obsazen ych v uzlu se m uze menit ve stanoven ych mezch. Pro kazd y uzel plat stejn e omezen maxima poctu klc u v uzlu... Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 38

B-strom... Klce jsou v uzlu uspor adan e v neklesajcm porad. S kazd ym klcem je asociov an potomek, kter y je korenem podstromu, kter y obsahuje vsechny uzly s klci mensmi nebo rovn ymi tomuto klci a pritom v etsmi nez predch azejc klc. Uzel m a nejprav ejsho potomka, kter y je korenem podstromu obsahujcho uzly s klci, kter e jsou v ets nez kter ykoliv klc v uzlu. Uzel obsahuje pocet ukazatel u, kter y je o jedna vets nez pocet pocet klc u v uzlu Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 39

B-strom B-strom r adu m je m- arn vyhled avac strom s omezenmi kazd y uzel m a nejv yse m potomk u (obv. 2d potomk u a 2d 1 klc u) kazd y uzel az na koren a listy m a alespo n m/2 potomk u (resp. d potomk u a d 1 klc u) koren obsahuje alespo n 1 klc a m a alespo n dva potomky, pokud nen listem uzel s g m potomky obsahuje g 1 vyhled avacch klc u vsechny listy jsou na stejn e urovni Vetsina vce- urov nov ych index u pouzv a B (resp. B + ) stromy pro vkl ad an / odstra nov an klc u ponech avaj v kazd em uzlu voln y prostor (uzly jsou z poloviny az plne pln e) Uzel B (resp. B + ) stromu se uchov av a v jednom bloku vnejs pameti, m typicky b yv a velk e (stovky), strom pak m a malou v ysku. Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 40

B-strom 3- arn B-strom (r adu 3) po vlozen z aznam u s klci 8, 5, 1, 7, 3, 12, 9, 6 B-strom je,,neredundantn"strom Klce se v cel e grafov e strukture vyskytnou pr ave jednou Z aznamy jsou umsteny v uzlech s klci nebo jsou z nich adresovan e Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 41

B-strom, stepen / sl ev an uzl u Vkl ad an klce do nepln eho uzlu nem en strukturu stromu Vkl ad an klce do pln eho uzlu men strukturu stromu, zp usob stepen prepl novan eho uzlu na dva uzly St epen se m uze rozsrit na vce urovn Rusen klce v uzlu, kter e nesnz pocet klc u v uzlu pod jednu polovinu, nem en strukturu stromu Rusen klce v uzlu, kter e snz pocet klc u v uzlu pod jednu polovinu, zp usob sl ev an sousednch uzl u, m en strukturu stromu Sl ev an se m uze rozsrit na vce urovn Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 42

B-strom, vkl ad an klce (INSERT z aznamu do souboru) B-strom se zacn a tvorit jako jednouzlov y strom (koren) Pokud koren obsahuje m en e nez maximum klc u, klc se vloz do korene a klce v tomto uzlu se uspor adaj pri vkl ad an m-t eho klce do korene se koren step na dva uzly { potomky, v korenu se ponech a stredn klc a ostatn se umst p ul na p ul do potomk u pri vkl ad an m-t eho klce do nekorenov eho uzlu se tento uzel step na dva uzly na stejn e urovni a stredn klc s ukazateli na rozstepen e uzly se presouv a do jejich rodicovsk eho uzlu stepen se rozsiruje az do korenu, kter y se pri pokusu o jeho preplnen rovnez step (viz v yse) a zvysuje se tm v yska stromu Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 43

B-strom, rusen klce (DELETE z aznamu v souboru pokud pri rusen z aznamu klesne pocet klc u v uzlu pod m/2, sousedn uzly se sl evaj vc. odpovdajc redukce rodice sl ev an se rozsiruje az do korenu a potenci alne se tm snizuje v yska stromu Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 44

B-strom, ilustrace konstrukce vkl ad anm B-strom r adu 3 po vlozen z aznam u s klci 8, 5, 1, 7, 3, 12, 9, 6 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 45

B-strom, ilustrace konstrukce vkl ad anm B-strom r adu 3 po vlozen z aznam u s klci 8, 5, 1, 7, 3, 12, 9, 6 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 46

B-strom, ilustrace konstrukce vkl ad anm Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 47

B-strom, ilustrace konstrukce vkl ad anm Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 48

B strom, odvozen r adu stromu Necht' plat D elka klce, K = 9 B, d elka bloku vnejs pameti B = 512 B d elka ukazatele bloku vnejs pameti s daty, P d = 7 B d elka ukazatele bloku vnejs pameti s uzlem stromu, P = 6 B Uzel bude obsahovat az m ukazatel u na potomky, m 1 ukazatel u na data a m 1 klc u Odvozen m: m P + ((m 1) (P d + K)) B m 6 + ((m 1) (7 + 9)) 512, tj. m = 23 budou-li uzly pln e z 69 %, budou obsahovat 23 0,69=16 ukazatel u (15 klc u), tj. na 0.,1.,2. a 3. urovni je 1 (15), 16 (240), 256 (3 840), 4096 (61 440) uzl u (klc u/dat), tj. indexacn kapacita tohoto 4 urov nov eho B-strom je 65 535 polozek Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 49

B+ strom, charakteristiky redundantn varianta B-stromu vyv azen y vyhled avac strom, vsechny listy jsou na stejn e urovni nejsreji pouzvan y index z aznamy s daty jsou adresovan e pouze z list u listy jsou retezen e v porad podle klc u do seznamu vnitrn uzly B+ stromu hraj roli indexu k list um vsechny uzly jsou alespo n z poloviny pln e ve vnitrnch uzlech se t.zv. hranicn klce mohou opakovat, klce v lev em podstromu K i je K i Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 50

B+ strom, charakteristiky vnitrn uzly r adu m mohou obsahovat az m 1 klc u r ad listu m l ud av a maxim aln pocet ukazatel u na z aznamy (z aznam u), je roven poctu klc u v listu B+ stromy podporuj jak prm y tak i sekvencn prstup Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 51

B+ strom, charakteristiky Vnitrn uzly r adu m Az na koren obsahuj alespo n m/2 ukazatel u Nejv yse obsahuj m ukazatel u Jsou-li P 1, P 2,..., P j ukazatele odpovdajc klc um K 1 < K 2 < K 3... < K j 1, kde m/2 j m pak plat: { P 1 ukazuje na podstrom s klcov ymi hodnotami x K 1 { P i (1 < i < j) ukazuje na podstrom s klcov ymi hodnotami x, pro kter e plat K i 1 < x K i { P i ukazuje na podstrom s klci x > K j 1 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 52

B+ strom, charakteristiky Listov y uzel r adu m l obahuje ukazatel na prst listov y uzel obsahuje alespo n m l /2 ukazatel u na z aznamy a hodnot klc u obsahuje nejv yse m l ukazatel u na z aznamy a hodnot klc u Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 53

B+ strom, prklad, m = 3 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 54

B+ strom, t yz prklad, m = 5 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 55

B+ strom, alternativn denice, m = 3 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 56

B+ strom, pozn amky Nelistov e uzly vytv arej vce- urov nov y rdk y index list u Hranicn hodnotu klce v korenu (pod)stromu urcuje hodnota klce nejprav ejsho listu v jeho lev em podstromu Pon evadz meziuzlov a propojen jsou implementovan a ukazateli, logicky blzk e bloky nemus b yt fyzicky blzk e Pri zpracov av an dotazu se proch az cesta stromem od korenu k nekter emu listu Jestlize v souboru je n hodnot vyhled avacho klce, pak tato cesta nen dels nez log m/2 n uzel m a obvykle rozmer diskov eho bloku, napr. 4KB { m pak bude napr. 100 (40 B na jednu indexovou polozku) { a pokud je v souboru 1 mili on hodnot z aznam u (n), pak v yska stromu nepres ahne log 50 10 6 = 4, { tj. vyhled an z aznamu si vyz ad a az 4 diskov e operace, tj. pri 10 ms/diskovou operaci se vyhled an odehraje do 40 ms Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 57

B+ strom, vkl ad an Nalezni odpovdajc listov y uzel L a vloz data do L Jestlize je v L prostor pro vlozen { HOTOVO Jestlize se L prepln { { L se rozstep na L a nov y uzel L2 v j = m l+1 2 { Entity v L se rozloz mezi L a L2, entity od j+1 do L2 { j-t y klc se kopruje do rodice L { do rodice L se vloz odkaz na L2 Tento postup se m uze rekurzivn e opakovat ve vnitrnch uzlech St epenm strom expanduje St epenm korene se zvysuje v yska stromu Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 58

B+ strom, m = 3, vlozen 8, 5, 1, 7, 3, 12, 9, 6 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 59

B+ strom, rusen Nalezni odpovdajc listov y uzel L a zrus data v L Jestlize L z ust av a alespo n z 1/2 pln y { HOTOVO, pokud je odstra novan y klc ve vnitrnm uzlu, odstran se a nahrad se lev ym sousedem Jestlize L uz nen alespo n z 1/2 pln y { { { Zkus redistribuovat data do L z lev eho sourozence L { Pokud to nejde, zkus redistribuovat data do L z prav eho sourozence L { pokud to nejde, sluc L a oba sourozence L Pokud se slucovalo, mus se v rodici L odstranit odkaz na L nebo na jeho sourozence Slucov an se m uze rozsrit az ke korenu, pak se snizuje v yska stromu Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 60

B strom, prednosti, nedostatky / B+ strom Prednost index u typu B-strom nekdy lze nal ezt vyhled avac klc drve nez v listu Nedostatky index u typu B-strom pouze mal a c ast vsech hodnot vyhled avacch klc u se najde "brzo\ uzly B-stromu jsou vets nez nelistov e uzly B+ stromu (o ukazatele dat) do uzlu B-stromu se vejde m ene klc u, strom bude vyss, pr uchod dels vkl ad an a rusen z aznam u je u B-stromu komplikovanejs nez u B+ stromu prednosti B-strom u obvykle nevyv az jejich nedostatky Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 61

N asobn a indexace pomoc B+ a B strom u B+ strom se vytvor pro nejd ulezit ejs klcovou hodnotu pro ostatn dotazy se vytvor B stromy B stromy specikuj (ukazatel u) umst en dat v listech B+ stromu Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 62

Trie, radix tree, prex tree,... E.Fredkin, 1960, information retrieval trie (vyslov,,try"jako,,sky") je m- arn strom datov a struktura stromov eho typu pouzvan a pro reprezentaci (uchov av an) ret ezc u nad danou abecedou Na rozdl od vyhled avacch strom u z adn y uzel trie neuchov av a klc souvisejc s dan ym uzlem naopak, pozice uzlu v trie ukazuje, kter y klc s uzlem souvis kazd y uzel trie obsahuje pole ukazatel u, kazd y jeden z nich odpovd a znaku (prvku) abecedy ve kter e jsou klce vyj adren e vsichni n aslednci uzlu trie maj spolecn y prex ret ezu souvisejcho s dan ym uzlem Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 63

Trie, radix tree, prex tree,... Koren trie je asociov an s pr azdn ym retezem hodnoty (data) se bezne neasociuj s kazd ym uzlem trie, pouze s listy trie je strom, kde kazd y uzel reprezentuje jedno slovo nebo prex slova koren stromu reprezentuje pr azdn y ret ez uzly { prm n aslednci korene { reprezentuj prexy d elky 1 uzly vzd alen e 2 hrany od korene reprezentuj prexy d elky 2,... listov y uzel vzd alen y k hran od korene reprezentuje slovo d elky k trie nen m- arn vyhled avac strom razen klcov ych hodnot v uzlech nedodrzuje pravidla pro m- arn vyhled avac strom Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 64

Trie, prklad Index slov aeroplane, bicycle, bike, bus, caravan, carriage, car, train Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 65

Trie jestlize je trie pouzit y jako index pak listy obsahuj adresy z aznam u s odpovdajcmi hodnotami klc u jestlize je trie pouzit y jako reprezent ator hodnot pak listy jsou indik atory existence z aznam u s platn ymi hodnotami klc u Oblast pouzit Rychl e prohled av an rozs ahl ych text u via preprocesing { vyhled av an vzor u, prex u porovn av anm,... Konstrukce adres ar u pro rychl e proch azen adres ar u kapes s hasovan ymi z aznamy pri extenzibilnm (rozsiriteln em) hasov an... Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 66

Trie klc v trie je uchov avan y v uzlech na ceste z korene k vnejsmu uzlu a nikoliv jako celek v jednom uzlu klce mus b yt d eliteln e na vhodn e komponentn jednotky (symboly: znaky, cifry,... ) uzel m- arnho trie m-prvkov e pole kazd y prvek pole odpovd a jednomu,,r adu"klce prvek pole obsahuje ukazatel nebo indik ator pr azdn eho msta pozice prvku pole, obsahujc ukazatel, urcuje hodnotu r adu Jin y n azev { radix searching z aklad je odvozen y z abecedy pouzit e pro k odov an klce m je d ano z akladem pouzit ym pro vyj adren klce trie { 10, dekadick e cifry, { 26/27, znaky/vc. mezery {... Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 67

Co mohou b yt klce v tries? retezce (slozen e ze znak u) prirozen a csla (slozen a z cslic) cel a csla (slozen a z cslic, +, -) zlomky (slozen e z cslic, +, -, /) re aln a csla (slozen a z cslic, +, -,.) slova poctace (slozen a z 0, 1) objekty (slozen e z objekt u) Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 68

Vlastnosti trie v yska trie je d ana d elkou nejdelsho klce v yhody d elka hled an v trie je umern a d elkce klce { nikoli logaritmu poctu uzl u ve stromu { ne uspesn e hled an m uze skoncit na kter ekoliv urovni pro prpad velk eho mnozstv kr atk ych klc u je prostorov e efektivn, inici aln sekvence se sdl pocet vnitrnch uzl u je dan y d elkami klc u, neni nutn e strom vyvazovat pri vkl ad an jsou rychlejs nez hasovan e tabulky, nemus se prepracov avat indexy pri prepln en... Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 69

Komprimovan y trie Eliminuj se redundantn uzly, tj. uzly s jednm potomkem (prp. vyjma korene) Cesta p je redundantn, jestlize kazd y uzel n i na t eto ceste je redundantn Redundantn cesty se nahrad uzly obsahujcmi 1 / vce znak u c i z S Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 70

Prklady Vyhled avac stromy obecn e B stromy B+ stromy Trie Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 71

Vyhled avac stromy obecn e Jak y je maxim aln pocet uzl u v m- arnm vyhled avacm stromu v ysky h? v jednotliv ych urovnch i jsou pocty uzl u = m i urovn je h + 1, obsahuj m 0, m 1, m 2, m 3,... m h uzl u soucet prvnch h + 1 clen u geometrick e posloupnosti je mh+1 1 m 1 pro m = 3, h = 2 je to 13 uzl u, po urovnch: 1 + 3 + 9 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 72

Vyhled avac stromy obecn e jak y je maxim aln pocet klc u v m- arnm vyhled avacm stromu v ysky h? kazd y uzel obsahuje az (m 1) klc u, takze maxim aln pocet klc u v m- arnm vyhled avacm stromu v ysky h je tedy n = mh+1 1 m 1 (m 1) = m h+1 1 pro m = 3, h = 2 je to 26 klc u, po urovnch: 2 + 6 + 18, pro m = 100, h = 3, 10 6 klc u minim aln v yska m- arnho vyhled avacm stromu s n klci je tudz h = O(log m (n + 1)) pocet diskov ych operac pri vyhled av an pomoc m- arnho vyhled avacm stromu je logaritmicky um ern y poctu hodnot vyhled avacho klce Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 73

Vyhled avac stromy obecn e maxim aln pocet klc u v m- arnm vyhled avacm stromu v ysky h je n = m h+1 1 Jak vetvit m- arn strom pri zadan e d elce hled an a zadan em poctu klc u? zadan e d elce hled an ( v ysce h) a zadan emu poctu klc u { n odpovd a arita alespo n m = (n + 1) 1/h h = 4, n = 255, m = 4 h = 4, n = 64K, m = 16 h = 4, n = 1M, m = 32 h = 3, n = 1M, m = 100 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 74

B-strom, prklad vkl ad an Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 75

B-strom, prklad vkl ad an Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 76

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 77

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 78

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 79

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 80

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 81

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 82

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 83

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 84

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 85

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 86

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 87

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 88

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 89

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 90

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 91

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 92

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 93

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 94

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 95

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 96

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 97

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 98

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 99

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 100

B-strom, komplexn ejs prklad vkl ad an a rusen Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 101

B+ strom,prklad 1 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 102

B+ strom,prklad 2 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 103

B+ strom,prklad 2 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 104

B+ strom,prklad 2 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 105

B+ strom,prklad 2 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 106

B+ strom,prklad 2 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 107

B+ strom,prklad 2 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 108

B+ strom, prklad Vypoct ete optim aln r ad B+ stromu v prostred klc m a d elku V = 9 B diskov y blok m a d elku B = 512 B ukazatel na z aznam s daty m a d elku R = 7 B ukazatel na indexov y z aznam d elku P = 6 B Vnitrn uzly B+ stromu jsou umst'ovan e po jednom v jednom diskov em bloku a kazd y obsahuje az m ukazatel u a az m 1 klc u, takze r ad vnitrnch uzl u bude m P + (m 1) V B 6m + 9(m 1) 512 m = 34 Podobne pro r ad list u plat m l (R + V ) + P B 16m l + 6 512 m l = 31 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 109

B+ strom, prklad budou-li nelistov e uzly pln e z 69 %, budou obsahovat 34 0,69=23 ukazatel u, tj. 22 klc u budou-li listov e uzly pln e z 69 %, budou obsahovat 31 0,69=21 ukazatel u dat tj. na 0.,1.,2. a 3. urovni 1, 23, 529, 12 167 uzl u, tj. kapacita 4 urov nov eho indexu typu B + -strom pokryje 12 167 21 = 255 507 z aznam u vypoctenou aritu v re ale snz potreba uchov avat organizacn informace o uzlu (vnitrn/vnejs, okamzit y pocet klc u v uzlu,... ) Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 110

Trie, prklad mnozina hodnot klc u 293...,2960, 2966, 2967, 25..., 73..., Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 111

Trie, prklad aplikace v rozsiriteln em hasov an implementace adres are pomoc trie a pomoc tabulky Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 112