logo

Štruktúra údajov stromu AVL

An AVL strom definované ako samovyvažovanie Rozdiel medzi výškami ľavého podstromu a pravého podstromu pre ľubovoľný uzol je známy ako faktor rovnováhy uzla.

Strom AVL je pomenovaný po svojich vynálezcoch Georgy Adelson-Velsky a Evgenii Landis, ktorí ho publikovali vo svojom článku z roku 1962 An algorithm for the organization of information.

Príklad AVL stromov:

AVL strom

AVL strom



Vyššie uvedený strom je AVL, pretože rozdiely medzi výškami ľavého a pravého podstromu pre každý uzol sú menšie alebo rovné 1.

Operácie na strome AVL:

Otáčanie podstromov v strome AVL:

Strom AVL sa môže otáčať jedným z nasledujúcich štyroch spôsobov, aby sa udržal v rovnováhe:

Ľavá rotácia :

Keď sa do pravého podstromu pravého podstromu pridá uzol, ak sa strom dostane z rovnováhy, vykonáme jedno otočenie doľava.

Otočenie doľava v strome AVL

Pravé otáčanie :

Ak sa do ľavého podstromu ľavého podstromu pridá uzol, strom AVL sa môže vyviesť z rovnováhy, vykonáme jedno otočenie doprava.

avl-strom

Pravá rotácia v strome AVL

Rotácia doľava-doprava :

Rotácia zľava doprava je kombinácia, v ktorej sa prvé otočenie zľava uskutoční po vykonaní rotácie doprava.

Otočenie zľava doprava v strome AVL

Pravo-ľavé otáčanie :

Pravo-ľavé otáčanie je kombinácia, v ktorej sa prvé otočenie doprava uskutoční po vykonaní otočenia doľava.

Otočenie doprava-doľava v strome AVL

Aplikácie AVL Tree:

  1. Používa sa na indexovanie obrovských záznamov v databáze a tiež na efektívne vyhľadávanie v nej.
  2. Pre všetky typy zbierok v pamäti vrátane sád a slovníkov sa používajú stromy AVL.
  3. Databázové aplikácie, kde sú vkladanie a mazanie menej bežné, ale je potrebné časté vyhľadávanie údajov
  4. Softvér, ktorý vyžaduje optimalizované vyhľadávanie.
  5. Používa sa v podnikových oblastiach a príbehových hrách.

Výhody AVL Tree:

  1. AVL stromy sa dokážu samy vyvážiť.
  2. Určite to nie je skreslené.
  3. Poskytuje rýchlejšie vyhľadávanie ako Red-Black Trees
  4. Lepšia časová zložitosť vyhľadávania v porovnaní s inými stromami, ako je binárny strom.
  5. Výška nemôže prekročiť log(N), kde N je celkový počet uzlov v strome.

Nevýhody AVL Tree:

  1. Je to náročné na realizáciu.
  2. Pre niektoré operácie má vysoké konštantné faktory.
  3. Menej používané v porovnaní s červeno-čiernymi stromami.
  4. Vďaka svojej pomerne prísnej rovnováhe poskytujú stromy AVL komplikované operácie vkladania a vyberania, pretože sa vykonáva viac rotácií.
  5. Vykonajte viac spracovania na vyváženie.

Súvisiace články: