Ero sivun ”AVL-puu” versioiden välillä
[arvioimaton versio] | [arvioimaton versio] |
p r2.7.3) (Botti muokkasi: fa:درخت ای وی ال |
|||
Rivi 26: | Rivi 26: | ||
[[Luokka:Tietorakenteet]] |
[[Luokka:Tietorakenteet]] |
||
[[ar:شجرة AVL]] |
|||
[[id:Pohon AVL]] |
|||
[[cs:AVL-strom]] |
|||
[[da:AVL-træ]] |
|||
[[de:AVL-Baum]] |
|||
[[en:AVL tree]] |
|||
[[es:Árbol AVL]] |
|||
[[fa:درخت ای وی ال]] |
|||
[[fr:Arbre AVL]] |
|||
[[ko:AVL 트리]] |
|||
[[hr:AVL stablo]] |
|||
[[it:Albero AVL]] |
|||
[[he:עץ AVL]] |
|||
[[lt:AVL medis]] |
|||
[[hu:AVL-fa]] |
|||
[[ja:AVL木]] |
|||
[[pl:Drzewo AVL]] |
|||
[[pt:Árvore AVL]] |
|||
[[ru:АВЛ-дерево]] |
|||
[[sk:AVL strom]] |
|||
[[sl:AVL-drevo]] |
|||
[[sr:АВЛ-стабло]] |
|||
[[sv:AVL-träd]] |
|||
[[vi:Cây AVL]] |
|||
[[uk:АВЛ-дерево]] |
|||
[[zh:AVL树]] |
Versio 10. maaliskuuta 2013 kello 06.07
Tietojenkäsittelytieteessä AVL-puu on binäärinen hakupuu. Se on ensimmäinen tietojenkäsittelytieteessä esitetty itsestään tasapainottuva binäärinen hakupuu. AVL-puussa kaikkien solmujen alipuiden korkeusero on korkeintaan yksi. Haun, lisäyksen ja poiston asymptoottinen suoritusaika on O(log n) sekä keskimääräisessä että pahimmassa tapauksessa. Lisäykset ja poistot saattavat vaatia puun tasapainottamisen uudelleen yhdellä tai useammalla kierrolla.
AVL-puu on nimetty keksijöidensä Georgi Adelson-Velskin ja Jevgeni Landisin mukaan. He esittelivät puun vuonna 1962 artikkelissaan ”An algorithm for the organization of information.”
Tasapainokerroin
Solmun tasapainokerroin on sen oikeanpuoleisen alipuun korkeus vähennettynä vasemmanpuoleisen alipuun korkeudella. Solmu jonka tasapainokerroin on -1, 0 tai 1 on tasapainoinen. Solmu jonka tasapainokerroin on jokin muu arvo on epätasapainossa ja vaati tasapainotuksen. Tasapainokerroin voidaan tallettaa jokaiseen solmuun tai se voidaan laskea suoraan alipuista.
Lisäys
Lisäys AVL-puuhun tehdään lisäämällä alkio puuhun samalla tavalla kuin binääriseen hakupuuhun. Samalla puun solmujen tasapainokertoimia päivitetään. Jos jokin puun solmu menee epätasapainoon suoritetaan kierto alimmassa epätasapainoisessa solmussa, jolloin puu saadaan taas tasapainoon.
Poisto
Poisto AVL-puusta voidaan tehdä kiertämällä poistettava solmu lehtisolmuksi ja sitten poistaa se.
Haku
Haku tehdään kuten tavallisessa binääripuussa. Koska AVL-puu on aina tasapainossa on haun aikavaatimus aina O(log n).