Deprecated: Function set_magic_quotes_runtime() is deprecated in /DISK2/WWW/lokiware.info/mff/wakka.php on line 35
  
Vyvážené stromy
Podle přednášky z 
Programování II 19. 3. 2007:
Dokonale vyvážené stromy
Počet vrcholů v levém a pravém podstromu každého vrcholu se liší nejvýše o 1.
Adelson-Velskij, Landis / AVL-stromy
Výška levého a pravého podstromu každého vrcholu se liší nejvýše o 1.
-  Nejhorší AVL-strom (chce to trochu představivosti, v závorkách je vždy levý a pak pravý syn, nebo tečky, pokud synové chybí):
-  (..)
-  (().)
-  ( (.()) () )
-  ( 2. 3. )
-  ( 3. 4. )
 ...
 
 -  Tomu se říká Fibonacciho stromy.
-  Z toho: výška AVL-stromu ≤ ~ 1.45 * výška dokonale vyváženého stromu
-  Proto se v praxi používají místo dokonale vyvážených.
 
-  Vyvažování: pomocí rotací
-  najde se vrchol, kde je porušená vyváženost
-  provede se rotace nebo dvojrotace (dvojrotaci lze složit ze dvou rotací)
-  (na přednášce byly příklady, ale asi nemá cenu je překreslovat a popisovat)
 
-  Přidávání vrcholů
-  jako normálně do binárního vyhledávacího stromu a pak se musí vyvažovat
-  fígl:
-  do vrcholu se přidá balance factor = výška pravého – výška levého z {-1, 0, 1}
-  rekurzivní funkce pro přidání vrcholu vrací změnu výšky stromu, do nějž byl vrchol přidán
-  podle toho se aktualizuje balance factor, a pokud je mimo {-1, 0, 1}, musíme vyvažovat
 
 
-  Mazání vrcholů
-  je třeba rotovat nejvýše jednou (opět se propaguje odspoda, dokud nenarazíme na problém)