Arbori binari de căutare

Proiect
7.5/10 (2 voturi)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 17 în total
Cuvinte : 2476
Mărime: 35.48KB (arhivat)
Publicat de: Dorinel Cornea
Puncte necesare: 7
Universitatea din Craiova Facultatea de Automatica, Calculatoare si Electronica

Cuprins

  1. Arbori binari de cautare
  2. 1. Definiţii 3
  3. 2. Transformarea unui arbore generalizat in arbore binar 3
  4. 3. Operatorii arborelui binar 4
  5. 4. Arbori binari de căutare 5
  6. 5. Parcurgerea arborilor binari de cautare 6
  7. 6. Ştergerea unui nod dintr-un arbore binar ordonat 7
  8. Aplicaţie – Operaţii cu arbori binari de cautare
  9. 1. Descrierea algoritmului 8
  10. 2. Funcţiile programului 9
  11. 3. Programul C++ 11
  12. Bibliografie 18

Extras din proiect

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 este o multime de n >= 0 noduri, care daca nu este vida, contine un nod numit radacina, restul nodurilor formând doi arbori disjuncti numiti subarborele stâng si subarborele drept.

Aceasta structura de date e importanta pentru ca e usor de reprezentat si prelucrat, orice arbore putând fi transformat în arbore binar

2. Transformarea unui arbore generalizat în arbore binar

Un arbore generalizat poate fi transformat intr-un arbore binar, astfel incât secventele de noduri pentru parcurgerea in preordine sa fie identice in cazul ambilor arbori.

Un arbore generalizat A cu radacina A1 si subarborii A1,1, A1,2, ,A1,k se transforma în arbore binar având radacina A1, A1,1 fiul sau stâng, iar A1,i devin fiii drepti ai lui A1,i-1 pentru 2<=i<=k.

Secventele de noduri în parcurgerea în preordine a arborelui generalizat si a celui binar obtinut prin transformare, sunt identice.

Exemplu: Se considera arborele generalizat de mai sus. Aplicând regula descrisa, se obtine arborele binar reprezentat.

Implementarea arborilor binari

Un arbore binar poate fi descris cu ajutorul urmatoarei structuri de date dinamice:

typedef struct informatie{

char nume[100];

long int pret ;

int cantitate;

}s;

typedef struct arbore{

informatie inf;

arbore *st,*dr;

}nod;

nod*prim,*prim1;

3. Operatorii arborelui binar

INITIALIZEAZA(A) - face vid arborele A;

INSEREAZA(X,A) - insereaza cheia X în arborele A;

CAUTA(X,A) - cauta cheia X, returnând true la gasire;

SUPRIMA(X,A) - suprima cheia X, daca exista;

TRAVERSEAZA(A) - parcurge toate cheile arborelui A

4. Arbori binari de cautare- Creare

Se numeste arbore de cautare un arbore binar ale carui noduri au o cheie de identificare, iar pentru fiecare nod sunt valabile proprietatile urmatoare:

- Orice cheie asociata unui nod este mai mare decat cheia subordonatului stang

- Orice cheie asociata unui nod este mai mica decat cheia subordonatului drept

Cheile de identificare sunt distincte.

Fie arborele din figura urmatoare. Cheile sunt : 30, 21 , 27, 15, 37, 31, 33, 36, 35, 24

Observatie: ordinea de inserare a cheilor poate determina o alta configuratie pentru arbore. Spre exemplu daca se insereaza mai intai 30 si apoi 27 si 21 atunci 27 va deveni subordonat stang pentru 30 si 21 subordonat stang pentru 27.

Crearea arborilor de cautare se realizeaza aplicand de un numar de ori operatia de inserare. Inserarea se realizeaza astfel:

-se compara valoarea k de inserat cu cheia asociata nodului curent. Exista urmatoarele posibilitati:

- cheia coincide cu valoarea de inserat si se renunta la inserare

- cheia este mai mica decat k caz in care se incearca inserarea in subarborele drept

- cheia este mai mare decat k caz in care se incearca inserarea in subarborele stang

- inserarea propriuzisa se realizeaza atunci candsubarborele stang , respectiv drept, este vid, altfel se reia.

Parcurgerea arborilor de cautare se face ca orice arbore binar (svd, vsd sdv).

Cautarea unei valori se determina in mod similar cu subprogramul de inserare

Preview document

Arbori binari de căutare - Pagina 1
Arbori binari de căutare - Pagina 2
Arbori binari de căutare - Pagina 3
Arbori binari de căutare - Pagina 4
Arbori binari de căutare - Pagina 5
Arbori binari de căutare - Pagina 6
Arbori binari de căutare - Pagina 7
Arbori binari de căutare - Pagina 8
Arbori binari de căutare - Pagina 9
Arbori binari de căutare - Pagina 10
Arbori binari de căutare - Pagina 11
Arbori binari de căutare - Pagina 12
Arbori binari de căutare - Pagina 13
Arbori binari de căutare - Pagina 14
Arbori binari de căutare - Pagina 15
Arbori binari de căutare - Pagina 16
Arbori binari de căutare - Pagina 17

Conținut arhivă zip

  • Arbori Binari de Cautare.doc

Alții au mai descărcat și

Examen programarea orientată pe obiecte

1. Clase. O definitie “bruta” a clasei ar fi aceea ca este un concept extins al unui tip de date abstract : in loc sa contina numai informatii –...

Arhitectura calculatoarelor - Intel vs AMD

Rezultatele din testul 3DS Max 7 SPECapc Test Testul alaturat consta in crearea modelelor 3D, modificarea si randarea scripturilor. Conform...

Autentificarea prin semnătură digitală

Introducere O semnatura digitala reprezinta o informatie care il identifica pe expeditorul unui document. Semnatura digitala este creata prin...

Sistem de Prognosticare a Unei Avarii

Acest sistem calculeaza gradul de avariere a unei cladiri în cazul unui cutremur, precum si posibila necesitate a reconstructiei cladirii (partiala...

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

Structuri de Date

CAPITOLUL 1 Structuri elementare de date. În capitolul 1, introductiv, recapitulăm câteva din noţiunile introduse la ‘algoritmică’ şi anume: -...

Te-ar putea interesa și

Tehnici de Programare

PREZENTARE GENERALE In proiectul urmator am creat o baza de date cu referire la un hotel (ANGELA). Baza de date este impartita in doua fisiere:...

Implementarea căutării de date pe diferite structuri de date în C++

1. INTRODUCERE Obiectivul problemei este de a implementa căutarea de date numerice pe diferite structuri de date: arbore binar de căutare şi...

Sistemul de Fișiere NTFS

1. Prezentare generală NTFS (New Technology File System) este un tip de sistem de fişiere dezvoltat de Microsoft şi folosit ca sistem de fişiere...

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

Algoritmi și Structuri de Date

Modulul 0. Alocare dinamica in limbajul C Capitolul 0. Pointeri si alocare dinamica. Tipul de date struct 0.1 Pointeri si alocare dinamica O...

Laborator SDA

LISTE SIMPLU ÎNLANTUITE 1. Continutul lucrarii În lucrare sunt prezentate operatiile importante asupra listelor simplu înlantuite si...

Structuri de Date și Algoritmi

1. Conceptul de dată În informatică, prin dată, se desemnează un model de reprezentare a informaţiei, model cu care se poate opera pentru a obţine...

Structuri de Date

CURS 1. - STRUCTURI DE DATE Scop : prezentarea celor mai importante structuri de date ce pot fi utilizate pentru modelarea datelor din aplicatii....

Ai nevoie de altceva?