Arbori AVL

Seminar
8.5/10 (2 voturi)
Conține 3 fișiere: doc, cpp
Pagini : 6 în total
Cuvinte : 986
Mărime: 33.45KB (arhivat)
Publicat de: Gherasim Sima
Puncte necesare: 0

Extras din seminar

Definire:

Arborii binari de căutare echilibraţi AVL sunt arborii binari de căutare care au următoarele proprietăţi:

- pentru fiecare nod din arbore, înălţimea subarborelui stâng diferă de înălţimea subarborelui drept prin maxim un nod;

- fiecare subarbore este un arbore binar de căutare AVL.

Numele AVL este dat de numele inventatorilor lui: Adelson, Veliskii şi Landis.

Inserarea unui nod într-un arbore AVL se face în două etape. În prima etapă se realizează inserarea nodului ca la o inserare obişnuită într-un arbore binar de căutare, iar apoi, dacă este cazul se echilibrează arborele.

Echilibrarea dacă este cazul se face printr-o rotaţie. Sunt patru cazuri distincte de rotaţie. Rotaţiile pot fi simple sau duble.

Cele patru rotaţii sunt:

- Rotaţie stânga

- Rotaţie dreapta

- Rotaţie stânga-dreapta

- Rotaţie dreapta-stânga

Operatiile de cautare, insertie, stergere a unui nod cu cheia data în arbori echilibrati, se fac cu un efort de calcul de O(log n) unitati de timp, consecinta directa a teoremei demonstrate de Adelson, Velskii si Landis ce garanteaza ca un arbore echilibrat nu va fi niciodata cu mai mult de 45% mai înalt decât omologul sau perfect echilibrat, oricare ar fi numarul sau de noduri.

Operaţii pe arbori AVL:

- Tehnica inserţiei nodurilor în arbori echilibraţi AVL.

Dându-se un arbore cu radacina R si având subarborii stâng si drept notati cu S si D, de înăltimi hs si hd, la insertia unui nod în S se disting trei cazuri:

1. hs=hd, în urma insertiei, S si D devin de înaltimi inegale, verificând însa criteriul echilibrului;

2. hs<hd, în urma insertiei S si D devin de înaltimi egale, deci echilibrul se îmbunatateste;

3. hs>hd, criteriul echilibrului nu se mai verifica, arborele trebuie reechilibrat.

Cazurile posibile care pot duce la necesitatea reechilibrării se pot sintetiza în următoarele, ţinând cont de subarborele în care se face inserţia (subarborele stâng sau drept) si de locul in cadrul subarborelui.

Reechilibrarea la inserţia în arbori AVL - Caz 1 stânga:

Reechilibrarea la inserţia în arbori AVL - Caz 2 stânga-dreapta:

Reechilibrarea la inserţia în arbori AVL - Caz 1 dreapta:

Reechilibrarea la inserţia în arbori AVL - Caz 2 dreapta- stânga:

Un algoritm pentru insertie si reechilibrare depinde de maniera în care e memorata informatia referitoare la situatia echilibrului arborelui.

- Căutarea într-un arbore AVL.

Cãutarea într-un arbore AVL se face la fel ca într-un arbore binar de cãutare obisnuit, in plus adaugandu-se factorul de echilibru. Structura unui nod împreunã cu functia de inserare în nod este prezentatã mai jos:

/* avl-tree.h */

typedef unsigned char Balance;

typedef enum { Left, Right, Equal } Tree_balance;

typedef struct tag_AVL_Tree

{

Tree_balance balance;

int key;

struct tag_AVL_Tree *l, *r;

} AVL_Tree;

AVL_Tree *avl_tree_insert (AVL_Tree *t, int k);

/* avl-tree.c */

static int equilibration_required;

static AVL_Tree *equilibrate_left (AVL_Tree *a);

static AVL_Tree *equilibrate_right (AVL_Tree *a);

/*

Preview document

Arbori AVL - Pagina 1
Arbori AVL - Pagina 2
Arbori AVL - Pagina 3
Arbori AVL - Pagina 4
Arbori AVL - Pagina 5
Arbori AVL - Pagina 6

Conținut arhivă zip

  • Arbori AVL
    • Arbori AVL.doc
    • ex1.cpp
    • ex2.cpp

Alții au mai descărcat și

Sistem Informatic privind Evidența Resurselor Umane la Întreprindere

INTRODUCERE În perioada de tranziţie la economia de piaţă o importanţă deosebită capătă automatizarea proceselor de prelucrare a informaţiei....

Catalog Virtual

I. JUSTIFICAREA TEMEI Odată cu extinderea atribuţiilor ce revin diriginţilor în ce priveşte urmărirea evoluţiei elevilor din clasa pe care o...

Proiect informatică - fișiere text

1.Fişiere 1.1.Noţiuni introductive Un fişier este o colecţie de date de acelaşi tip, memorate pe suport extern (hard-disc, dischetă, CD etc)....

Matrice

Matrice (tablou bidimensional) Matricea este un tip de data la care elementele sunt asezate pe linii si pe coloane. Un element se identifica...

Plan de măsuri TIC

Ministerul Comunicaţiilor şi Tehnologiei Informaţiei realizează politicile şi strategiile în domeniul comunicaţiilor şi tehnologiei informaţiei,...

Ingineria programării

Acest proiect implementeazǎ operaţiile ce se realizeazǎ în mod curent cu structura avansatǎ de date denumitǎ B-arbore (B-Tree în englezǎ)....

Structuri de Date de Tip Graf în C - Caiet de Laborator

LABORATOR 1 Tema1 : Scrieţi programul C care permite crearea şi vizualizarea unui arbore binar ordonat cu vizualizare naturală. 1. Descrierea...

Structuri de Date și Algoritmi

Arbori Binari Optimi Despre arbori binari optimi putem vorbi atunci cand, pentru fiecare dintre cheile unui arbore binar ordonat cunoastem...

Te-ar putea interesa și

Structuri de date și algoritmi - magazin de jucării

Un magazin de jucarii tine evidenta produselor cu ajutorul unui program pe claculator, care are ca structura de date un arbore AVL creat dupa cod....

Grile rezolvate automatică

1. Procesorul reprezinta: a) unitatea de prelucrare aritmetica si logica b) unitatea de realizare a prelucrarilor aritmetice c) reuniunea...

Structuri de Date de Tip Graf în C - Caiet de Laborator

LABORATOR 1 Tema1 : Scrieţi programul C care permite crearea şi vizualizarea unui arbore binar ordonat cu vizualizare naturală. 1. Descrierea...

Structuri de Date și Analiza Algoritmilor

8. Arbori 8.1. Arbori generalizaţi 8.1.1. Definiţii În definirea noţiunii de arbore se porneşte de la noţiunea de vector. Fie V o mulţime având...

Îndrumător laborator SDTP

Lucrarea nr. 1 Structura de arbore. Arbori generalizati 1. Scopul lucrarii este prezentarea structurii de arbore si a operatiilor de baza ce se...

Structuri de Date și Algoritmi

Se citesc m perechi de numere întregi (x,y) reprezentând extremitatile muchiilor unui graf neorientat cu n vârfuri si m muchii. Sa se verifice...

Aplicații cu arbori binari - evaluarea arborilor asociați expresiilor

Obiective In urma parcurgerii acestui laborator, studentul va fi capabil: - sa inteleaga notiunea de arbore si structura unui arbore binar; - sa...

Algoritmi și Structuri de Date

1. ALGORITMI SI MODURI DE REPREZENTARE Prelucrarea datelor cu ajutorul calculatorului se realizeazã prin executia unor operatii simple...

Ai nevoie de altceva?