Arbori Binari

Seminar
7/10 (1 vot)
Conține 4 fișiere: doc, pdf, cpp
Pagini : 4 în total
Cuvinte : 3998
Mărime: 100.70KB (arhivat)
Publicat de: Gherasim Sima
Puncte necesare: 0

Extras din seminar

Definire:

Arborii sunt structuri de date dinamice şi omogene. In arborescenţă, există un nod numit rădăcină sau părinte. Acesta are descendenţi. Fiecare descendent poate fi, la rândul său, părinte şi, în acest caz, are descendenţi.

Arborele binar este caracterizat prin aceea că, orice nod al său are un singur părinte şi maxim doi descendenţi. Fiecare nod este reprezentat prin trei informaţii şi anume:

- informaţia utilă care face obiectul prelucrării, ea descriind elementul sau fenomenul asociat nodului;

- informaţia care localizează nodul părinte;

- informaţia (informaţiile) care localizează nodul (nodurile) descendent (descendente).

Arborele binar A este o mulţime de chei care poate fi, fie vidă, fie conţine un element numit rădacină şi exact doi arbori binari As şi Ad, A= .

Rangul unui nod reprezintă numărul de subarbori asociaţi cu acel nod. Un nod care are rangul 0 se numeşte frunză. Pentru arborele binar A, definit mai sus, radăcinile rs şi rd ale subarborilor As şi Ad, se numesc fii ai rădăcinii r a arborelui A, iar r se numeşte părintele lui rs şi rd.

Din definiţie se observă că oricare dintre mulţimile A, As şi Ad poate fi vidă, în consecinţă orice nod din arborele binar poate avea 0, 1 sau 2 fii.

Reprezentarea pe niveluri determina sa nu mai fie necesar sensul arcelor. Fiecare varf poate fi considerat radacina pentru un subarbore. Evident, pentru fiecare varf vom avea subarborele stang si subarborele drept, eventual unul din ei sau amandoi putand fi arbori vizi (fara nici un varf).

Arborii binari sunt arbori în care nodurile conţin cel mult doi descendenţi. Pentru reprezentarea în memorie a unui nod dintr-un arbore binar este nevoie de 3 câmpuri: un câmp ce conţine informaţia utilă, şi două câmpuri pentru a memora legăturile nodului cu subarborele stâng, respectiv subarborele drept. Pentru memorarea acestor arbori se poate folosi o structură mai simplă de forma:

struct nod_arb

{

int inf;

nod_arb *st, *dr;

};

Un arbore in care operaţiile de căutare sunt foarte rapide se numşte arbore de căutare. Arborii de căutare sunt folosiţi pentru a memora o mulţime finită de chei alese dintr-o multime total ordonată de chei. Fiecare nod din arborii de căutare conţine una sau mai multe chei şi toate cheile din arbore sunt unice. Nu se memorează chei duplicate. Diferenţa dintre arborii oarecare şi arborii de căutare este că în arborii de căutare cheile nu sunt memorate în noduri arbitrare din arbore. În schimb, există un criteriu de ordine care determină unde trebuie memorată o cheie ce se află în relaţie cu alte chei din arbore.

Arborii binari de căutare sunt arbori binari în care nodurile sunt memorate ordonat în funcţie de o cheie. Toate nodurile din arbore au în subarborele stâng noduri care au chei mai mici şi în subarborele drept chei mai mari.

Parcurgerea unui arbore de căutare în ordinea stânga – rădăcină – dreapta conduce la obţinerea listei nodurilor în ordinea crescătoare a cheilor.

Arborii binari de căutare sunt perfect echilibraţi dacă pentru fiecare nod din arbore numărul de noduri din subarborele stâng diferă de numărul de noduri din subarborele drept prin cel mult un nod. Deoarece operaţiile de inserare şi ştergere nu permit menţinerea echilibrării perfecte a unui arbore, iar restructurarea arborelui după aceste operatii este o procedură foarte complexă, de obicei se preferă arbori imperfect echilibraţi care vor fi numiţi arbori echilibraţi.

Un arbore este echilibrat dacă si numai dacă, pentru orice nod, înaltimile celor doi subarbori diferă cu cel mult 1. Arborele perfect echilibrat este cel în care, pentru fiecare nod, numarul de noduri ale subarborelui stâng difera de cel pentru subarborele drept cu cel mult o unitate. Arborele perfect echilibrat are o serie de proprietati dintre care se remarca faptul ca nodul radacina si nodurile interne au strict 2 descendenti.

Conținut arhivă zip

  • Arbori Binari
    • Arbori.pdf
    • ex1.cpp
    • ex2.cpp
    • Seminar_6.doc

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,...

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...

Prezentare de modă

1.Structura tabelei 2.Inregistrarile dintre tabele 3.Relatii intre tabele 4.Formulare 5.Rapoarte Structura bazei: Baza este formata din 6...

Te-ar putea interesa și

Arbori Huffman - Implementare în C++

INTRODUCERE În lucrarea de fața tratez metodele Huffman de codificare și comprimare a datelor, necesare pentru elaborarea unor algoritmi optimi...

Testarea Adaptivă ca Factor de Optimizare a Procesului de Instruire în Învățământul Universitar

INTRODUCERE Actualitatea temei. în ultimele trei decenii în lumea educaţiei s-au produs schimbări de ordin principial, ca reacţie la...

Ordonontare și Coordonare

A. PROBLEME DE ORDONANŢARE ŞI COORDONARE I. INTRODUCERE Se consideră două tipuri de probleme relative la ordinea în care trebuie efectuate o...

Structuri de Date în Limbajul Java

Motivaţia lucrării Structurile de date reprezintă modalitatea în care datele sunt dispuse în memoria calculatorului(sau păstrate pe disc)....

Algoritmul de Compresie Huffman

1.1 Noţiuni introductive 1.1.1 Terminologie Pentru a evita eventualele neînţelegeri ce ar putea rezulta din utilizarea unor termeni care sunt...

Arbori binari de căutare

Arbori binari de cautare 1. Definiţii Un arbore este un graf orientat in care nu exista nici un ciclu(graf orientat aciclic) Un arbore binar...

Diversitatea Textelor Utilizând Structuri de Tip Arbori Binari

1. Introducere Obiectivul prezentului proiect este prezentarea unui algoritm de calcul al gradului de diversitate a textelor utilizând structuri...

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...

Ai nevoie de altceva?