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

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

Obnova transakc po v ypadku

Uvod, celkov y prehled problematiky

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

Uvod, celkov y prehled problematiky

Podsyst em vstupu a v ystupu

GPDR, General Data Protection Regulation

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

Projekt implementace ISMS

Projekt implementace ISMS Dodatek 1, PDCA

Soubor, souborov e organizace

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

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

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

Spr ava hlavn pam eti

Politika informacn bezpecnosti, Dodatek

Spr ava hlavn pam eti

Politika informacn bezpecnosti, Dodatek

Soubor, souborov e organizace

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

Stromy, haldy, prioritní fronty

Volba v udce, Leader Election

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

Volba v udce, Leader Election

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

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

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

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

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.

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

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

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

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

Prklady opatren, zranitelnost a hrozeb

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

Metody síťové analýzy

ALGORITMY A DATOVÉ STRUKTURY

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

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

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

Projekt implementace ISMS

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

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

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

GRAFY A GRAFOVÉ ALGORITMY

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í

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

Politika informacn bezpecnosti

Operacn syst emy { prehled

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

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

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

Operacn syst emy { prehled

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

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

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

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

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

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

Stromové struktury v relační databázi

Úvod do teorie grafů

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

Datové struktury Úvod

Grafové algoritmy. Programovací techniky

Dynamické datové struktury III.

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

Grafové algoritmy. Programovací techniky

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

Algoritmizace prostorových úloh

Distribuovan e prostred, cas a stav v distribuovan em prostred

Algoritmizace prostorových úloh

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

Stromové struktury v relační databázi

Bezs n urov a telefonie, DECT

Rzen reakc na bezpecnostn incidenty

Datové struktury 2: Rozptylovací tabulky

Semestrální práce 2 znakový strom

Poctacov e syst emy { prehled

TGH07 - Chytré stromové datové struktury

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

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

SQL tříhodnotová logika

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í

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

TGH02 - teorie grafů, základní pojmy

Kostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019

Rekurzivní algoritmy

Transkript:

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

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? indexy na b azi vyhled avacch strom u res 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 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 6

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 7

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 8

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 9

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 10

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 11

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 12

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 13

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 14

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 15

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

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 17

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 18

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 19

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 20

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 21

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

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

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

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 25

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 26

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 27

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 28

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 29

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 30

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 31

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 Prklady BVS, bin arn vyhled avac strom 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 32

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 a ne reorganizaci cel eho indexu akceptovateln a 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 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

Uloha 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 37

Uloha 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 38

Uloha 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 39

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 40

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 41

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 42

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 43

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 44

B-strom 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 45

B-strom Vkl ad an klce (z aznamu dat) B-strom se zacn a tvorit jako jednouzlov y strom (koren) Pokud uzel obsahuje m ene nez maximum klc u, klc se vloz do uzlu a klce v 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 uzel step na dva uzly na stejn e urovni a stredn klc s ukazateli na rozstepen e uzly se presouv a do rodicovsk eho uzlu stepen se rozsiruje az do korenu, kter y se pri pokusu o preplnen rovnez step (viz v yse) a zvysuje tm v ysku stromu Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 46

B-strom Rusen klce (z aznamu dat) pokud pri rusen z aznamu klesne pocet klc u v uzlu pod 1/2 m, sousedn uzly se sl evaj vc. prpadn e 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 47

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 48

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 49

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

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

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 52

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

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

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 55

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 56

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 57

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 58

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 59

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 60

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 61

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 62

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 63

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 64

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 65

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 66

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 67

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 68

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 69

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 70

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 71

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 72

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 73

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 74

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 75

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 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 B+ strom je redundantn varianta B-stromu Vyv azen y vyhled avac strom, vsechny listy jsou na stejn e urovni nejsrej pouzvan y index z aznamy s daty jsou adresovan e pouze z list u listy jsou navc ret ezen e pri zachov an porad podle klc u do seznamu vnitrn uzly B+ stromu hraj roli indexu k list um Vsechny uzlu jsou alespo n z poloviny pln e ve vnitrnch uzlech se t.zv. hranicn klce mohou opakovat, podmnka pro lev e podstromy je K i vnitrn uzly r adu m mohou obsahovat az m 1 klc u r ad listu m l ud av a, kolik obsahuje ukazatel u na z aznamy, je roven poctu klc u v listu podporuj jak prm y tak i sekvencn prstup Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 80

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

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 implementace B-stromu je obtzn ejs nez implementace 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 82

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

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

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

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 86

B+ strom, vkl ad an Nalezni odpovdajc listov y uzel L a vloz data do L Jestlize je v L dostatecn y prostor { HOTOVO Jestlize se L prepln { { L se rozstep na L a nov y uzel L2 { Data se rovnomerne rozloz mezi L a L2 { prostredn klc se kopruje do rodice L { do rodice L se vloz odkaz na L2 Tento postup se m uze rekurzivn e opakovat ve vntrnch uzlech pri stepen indexov eho uzlu se prostredn klc posouv a o urove n v ys 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 87

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 88

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 Jestlize L nen alespo n z 1/2 pln y { { { Zkus redistribuovat data do L ze sourozence L { pokud redistribuce selze, sluc L a 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 89

B+ strom, m = 5, zrusen 19, 20, 24 Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 90

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 91

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

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

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

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

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

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

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

B+ strom, odvozen r adu stromu 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 99

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 n souvis kazd y uzel trie obsahuje pole ukazatel u, kazd y jeden z nich odpovd a znaku abecedy 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 100

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 101

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

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 103

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 104

Trie, vlastnosti Necht' S je mnozina s klc u vytvoren ych z uspor adan e abecedy komponent Σ takov a, ze z adn y klc v S nen prexem jin eho klce { S tvor napr. s vybran ych slov jist eho jazyka, { Σ je abeceda tohoto jazyka Kazd y uzel uspor adan eho trie T, s v yjimkou korene, obsahuje znak c z S T m a s takov ych vnejsch uzl u, ze zretezen znak u na kazd e ceste z korene do vnejsho uzlu tvor klc z S Kazd y vnitrn uzel T m a nejv yse Σ potomk u T m a s vnejsch uzl u V yska T je rovna d elce nejdelsho klce v S Jan Staudek, FI MU Brno PV062 Organizace soubor u { Hierarchick e indexy, B+ / B stromy 105

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 106

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 107

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 108

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