BPC-ALD - Skripta_rev2019_2
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
Efektivnost 
vyhledávacího 
stromu závisí na 
jeho výšce. 
Úplně vyvážit 
binární 
vyhledávací 
strom je značně 
komplikované. 
Řešením jsou 
AVL stromy. 
− 65 −
Na následujícím obrázku jsou dva AVL stromy výšky 3. Přitom v levém stromu mají všechny 
uzly  (vyjma  listů)  podstromy  rozdílné  délky,  čímž  takový  AVL  strom  má  při  dané  výšce 
nejmenší možný počet uzlů. Tedy AVL strom výšky 3 má nejméně 7 uzlů (nejvíce jich má 15). 
Průvodce studiem
Název AVL nemá žádný mnemonický význam. Je odvozen od jmen svých tvůrců,
kterými jsou dva rusové Adelson-Velskii aLandis.
Postup vyhledávání
AVL  strom  je  z pohledu  vyhledávání  jen  specifickým  případem  obecného  binárního 
vyhledávacího stromu a tudíž algoritmus vyhledávání je stejný. 
Postup přidání prvku
Operace přidání prvku do AVL znamená na příslušném  místě přidat do AVL stromu uzel, do 
kterého  nový  prvek  vložíme,  a  následně  ověřit,  zda  nedošlo  k narušení  vyvážení  stromu,  a 
pokud ano, strom znovu vyvážíme. 
1. Přidání prvku
Označme  přidávaný  prvek  x.  Provedeme  jeho  vyhledání  ve  stromu.  Použijeme  k tomu  již 
popsaný algoritmus vyhledávání. Ten může skončit třemi způsoby: 
a) Prvek x byl ve stromu nalezen. Tím přidávání končí, neboť prvek x už je ve stromu
obsažen  a  u  vyhledávacích  stromů  se  nepředpokládá  vícenásobný  výskyt  stejného 
prvku. 
b) Vyhledávání skončilo v uzlu u s prvkem c, přičemž x<c a přitom uzel u už nemá levého
následníka. V tom případě přidáme ke stromu nový uzel jako levého následníka uzlu u a 
do něho nový prvek x vložíme. 
