Pereiti prie turinio

AVL medis

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.

AVL medis – besibalansuojantis dvejetainis paieškos medis, informatikoje naudojama duomenų struktūra. Tokio medžio šaknies (ir visų viršūnių) kairiojo ir dešiniojo pomedžio aukščiai skiriasi daugiausiai 1. Įterpimo, pašalinimo ir paieškos operacijų sudėtingumas yra O (log n) vidutiniu ir blogiausiu atveju.

AVL-medis buvo pirmas besibalansuojantis medis. Jis buvo išrastas 1962 m. ir gavo vardą iš savo kūrėjų (G. M. Adelson-Velsky ir E. M. Landis).

Pirmas elementas įterpiamas kaip ir paprastajame dvejetainiame medyje. Po to, eidami link šaknies, atliekame pasukimą aplink išsibalansuotas viršūnes. Kadangi kiekvienas pasukimas užtrunka fiksuotą laiko tarpą, operacijos sudėtingumas priklauso tik nuo pasukimų (viršūnių iki šaknies) skaičiaus.

  • G. Adelson-Velsky, E. M. Landis, „An algorithm for the organization of information“, Doklady Akademii Nauk SSSR, 1962