B+ strom: Porovnání verzí
Smazaný obsah Přidaný obsah
Přídání implementace, char.vlastností, historie, vše z EN wiki a z http://www.cecs.csulb.edu/~monge/classes/share/B+TreeIndexes.html |
upravy |
||
Řádek 2:
Všimněte si že každý list obsahuje odkaz na následující list (červeně), umožňující velice rychlé procházení celým stromem.]]
'''B+ strom''' je [[strom (datová struktura)|stromová]] [[datová struktura]] vycházející z [[B-strom]]u umožňující rychlé vkládání, vyhledávání i mazání dat. Data jsou zpřístupněna pomocí klíčů, přičemž
== Vlastnosti B+ stromu ==
*Všechny [[Strom (datová struktura)#Koncové uzly|listy]] (tj.uzly které nemají žádné potomky) jsou na stejné úrovní (ve stejné [[Strom (datová struktura)#Hloubka, Výška, Šířka, Úroveň a Cesta|hloubce]]).
*Data můžou být uložena '''pouze''' v [[Strom (datová struktura)#Koncové uzly|listech]]
*Všechny [[Strom (datová struktura)#Uzly ve stromu|uzly]] kromě kořene mají maximálně ''
*[[Strom (datová struktura)#Kořen stromu|Kořen]] má nejvýše ''
=== Charakteristické vlastnosti B+ stromu ===
Mějme B+ strom řádu ''
* Maximální počet uložených záznamů je <math>
* Minimální počet klíčů je <math>2(
* Místo požadované pro uložení stromu je <math>O(
* Vložení záznamu do stromu vyžaduje v nejhorším případě <math>O(\
* Vyhledání záznamu v nejhorším případě vyžaduje <math>O(\
* Vymazání (dříve nalezeného) záznamu v nejhorším případě vyžaduje <math>O(\
* Vyhledání více položek v rámci zadaného rozsahu trvá v nejhorším případe <math>O(\
== Skutečná implementace B+ stromu ==
Skutečný B+ strom se ve skutečnosti realizuje tak, že je vždy ve všech listech uložen kromě vlastních klíčů a hodnot také odkaz (ukazatel) na následujícího sourozence. Díky tomu je umožněna rychlejší práce s bloky souvislých dat a s dotazy
Tento mechanismus odkazů na následujícího sourozence je zobrazen i na obrázku červenými políčky.
== Použití B+ stromu ==
'''B+ strom'''
[[Relační databáze]] také často používají tento typ [[Strom (datová struktura)|stromu]] pro ukládání tabulek s indexy.▼
▲Tento systém používají pro indexování dat na disku [[Souborový systém|souborové systém]]y [[NTFS]], [[ReiserFS]], [[XFS]] a [[JFS2]]. [[Relační databáze]] také často používají tento typ [[Strom (datová struktura)|stromu]] pro ukládání tabulek s [[index (databáze)|indexy]].
▲"Rudolf Bayer, Edward M. McCreight: Organization and Maintenance of Large Ordered Indices. Acta Informatica 1: 173-189 (1972)".
== Podívejte se také ==
|