An AVL-tre definert som en selvbalansering Forskjellen mellom høydene til venstre undertre og høyre undertre for en hvilken som helst node er kjent som balansefaktor av noden.
AVL-treet er oppkalt etter dets oppfinnere, Georgy Adelson-Velsky og Evgenii Landis, som publiserte det i deres papir fra 1962 En algoritme for organisering av informasjon.
Eksempel på AVL-trær:
AVL-tre
Treet ovenfor er AVL fordi forskjellene mellom høydene til venstre og høyre undertrær for hver node er mindre enn eller lik 1.
Operasjoner på et AVL-tre:
Rotere undertrærne i et AVL-tre:
Et AVL-tre kan rotere på en av følgende fire måter for å holde seg selv balansert:
Venstre rotasjon :
Når en node legges inn i høyre undertre i høyre undertre, hvis treet kommer ut av balanse, gjør vi en enkelt venstrerotasjon.
Venstre-rotasjon i AVL-treet
Høyre rotasjon :
Hvis en node legges til det venstre undertreet til det venstre undertreet, kan AVL-treet komme ut av balanse, vi gjør en enkelt høyrerotasjon.
Høyre-rotasjon i AVL-treet
Venstre-høyre rotasjon :
En venstre-høyre-rotasjon er en kombinasjon der første venstrerotasjon finner sted etter at høyrerotasjonen utføres.
pete davidson alderVenstre-Høyre Rotasjon i AVL-treet
Høyre-venstre rotasjon :
En høyre-venstre-rotasjon er en kombinasjon der første høyrerotasjon finner sted etter at venstrerotasjonen utføres.
Høyre-venstre rotasjon i AVL-treet
Anvendelser av AVL Tree:
- Den brukes til å indeksere enorme poster i en database og også for å effektivt søke i den.
- For alle typer in-memory-samlinger, inkludert sett og ordbøker, brukes AVL Trees.
- Databaseapplikasjoner, der innsettinger og slettinger er mindre vanlige, men hyppige dataoppslag er nødvendig
- Programvare som trenger optimalisert søk.
- Det brukes i bedriftsområder og historiespill.
Fordeler med AVL Tree:
- AVL-trær kan selvbalansere seg selv.
- Det er sikkert ikke skjevt.
- Det gir raskere oppslag enn rød-svarte trær
- Bedre søketidskompleksitet sammenlignet med andre trær som binært tre.
- Høyden kan ikke overstige log(N), hvor N er det totale antallet noder i treet.
Ulemper med AVL Tree:
- Det er vanskelig å gjennomføre.
- Den har høye konstante faktorer for noen av operasjonene.
- Mindre brukt sammenlignet med rød-svarte trær.
- På grunn av sin ganske strenge balanse, gir AVL-trær kompliserte innsettings- og fjerningsoperasjoner ettersom flere rotasjoner utføres.
- Ta mer prosessering for balansering.
Relaterte artikler:
- Introduksjon til binære søketrær – veiledninger for datastruktur og algoritmer
- Innsetting i et AVL-tre
- Sletting i et AVL-tre



