Appunti per Scuola e Università
humanisticheUmanistiche
Appunti e tesine di tutte le materie per gli studenti delle scuole medie riguardanti le materie umanistiche: dall'italiano alla storia riguardanti le materie umanistiche: dall'italiano alla storia 
sceintificheScientifiche
Appunti, analisi, compresione per le scuole medie suddivisi per materie scientifiche, per ognuna troverai appunti, dispense, esercitazioni, tesi e riassunti in download.
tecnicheTecniche
Gli appunti, le tesine e riassunti di tecnica amministrativa, ingegneria tecnico, costruzione. Tutti gli appunti di AppuntiMania.com gratis!
Appunti
scientifiche
Astronomia cosmologiaChimicaEconomiaEducazione fisicaFisica
MatematicaStatistica


AppuntiMania.com » Scientifiche » Appunti di Matematica » Albero di Ricerca Binaria (BST)

Albero di Ricerca Binaria (BST)




Visite: 1918Gradito:apreciate 4-stela [ Picolo appunti ]
Leggi anche appunti:

Una nuova interpretazione fisica della geometria euclidea


UNA NUOVA INTERPRETAZIONE FISICA della geometria euclidea Torniamo a considerare

Differenziale di una funzione


Differenziale di una funzione 1. Dimostrazione

Le equazioni di Maxwell in forma differenziale (III)


Le equazioni di Maxwell in forma differenziale (III) Il nostro punto di partenza
immagine di categoria

Scarica gratis Albero di Ricerca Binaria (BST)

Albero di Ricerca Binaria (BST)


Alberi di ricerca: mantengono l'ordine relativo alla posizione dei sottoalberi e alla relazione sui nodi (permettono dunque di condurre ricerche in odo efficace).

Alberi binari di ricerca: dato un insieme di valori discreto per cui sia possibile effettuare un ordinamento, voglio cercare se un certo valore è presente nell'insieme.


Sottoalbero Sinistro

 

Sottoalbero Destro

 






BST: proprietà per la quale, scelto un root, tutti gli elementi di sinistra vengono prima nell'ordine, mentre tutti gli elementi a destra vengono dopo (garantisce un attraversamento in intr ordine dell'albero e dispone gli elementi in ordine crescente).




Definizione per ricorsione

Albero vuoto = BST;

Albero con un solo nodo = BST;

Albero non vuoto e senza foglie = BST

root > radice del sottoalbero di sinistra;

root < radice del sottoalbero di destra;


Costruzione di un albero BST:

Prendo un sottoalbero vuoto;

Aggiungo un nodo:

se l'albero è vuoto, X = radice dell'albero;

se X < radice, aggiungo nel sottoalbero sinistro;

se X > radice, aggiungo nel sottoalbero destro;

Applico la procedura ai 2 sottolivelli,finché non si giunge alle foglie.


Ricerca in un BST

Se l'albero è vuoto No

SI     se xr = x

NO   se xr x

 
Se l'albero non è vuoto si ha:

Se è foglia (xr)


Se non è foglia, passo la domanda all'albero di sinistra (x < xr) o a quello di destra (x > xr)

NB: n = 2h + 1 - 1 n + 1 = 2h + 1 log2(n + 1) - 1

C'è la complessità minima per d = 2 con un albero vicino all'albero completo si ha una complessità minore (da lineare a logaritmica), per questo in BST è più efficace.


Cancellazione di un nodo

Dobbiamo cancellare un nodo ed ottenere un albero ancora BST.

Se un albero è foglia e tolgo un nodo albero vuoto (BST);

Se rimuovo una foglia l'albero risultante è ancora BST;

Se ho sottoalberi e tolgo la radice:

se uno dei due sottoalberi è vuoto, basta dire che il sottoalbero non vuoto diventa il nuovo albero;

se entrambi gli alberi sono non vuoti:













Il LUB è una foglia o la radice di un albero il cui sottoalbero sinistro è vuoto;

Il LDB è una foglia o la radice di un albero il cui sottoalbero destro è vuoto;

Devo quindi trovare il LUB e ristrutturare il sottoalbero di destra (viceversa per quanto riguarda il LDB), vado poi a destra e continuo la ricerca del LUB nei sottoalberi di sinistra, finché non trovo dei sottoalberi vuoti il LUB è la radice del primo sottoalbero vuoto. Si sostituisce il LUB al nodo da tagliare.


Procedura ricorsiva per calcolare l'altezza di un albero:

se è vuoto, h = - 1;

se è foglia, h = 0;

altrimenti, h = 1 + max (hsinistra, hdestra)


Inserimento in un BST

se l'albero è vuoto, inserire il nuovo elemento alla radice ed esci;

sia p la radice;

sia k < p, e il nodo in p non ha un figlio sinistro, inserisci il nuovo elemento come figlio sinistro ed esci;

sia k < p, e il nodo in p ha un figlio sinistro, allora cambia con p il figlio sinistro di p e torna al passo 3;

se il nodo in p non ha un figlio destro, inserisci il nuovo elemento come figlio destro ed esci;

se il nodo in p ha un figlio destro, allora cambia con p il figlio destro di p e torna al passo 3;


Tempo medio di Ricerca: il tempo richiesto per eseguire l'algoritmo di ricerca è proporzionale a h+1 (con h = altezza dell'albero).








Scarica gratis Albero di Ricerca Binaria (BST)
Appunti su:



Scarica 100% gratis e , tesine, riassunti



Registrati ora

Password dimenticata?
  • Appunti superiori
  • In questa sezione troverai sunti esame, dispense, appunti universitari, esercitazioni e tesi, suddivisi per le principali facoltà.
  • Università
  • Appunti, dispense, esercitazioni, riassunti direttamente dalla tua aula Universitaria
  • all'Informatica
  • Introduzione all'Informatica, Information and Comunication Tecnology, componenti del computer, software, hardware ...

Appunti Geografia Geografia
Tesine Fisica Fisica
Lezioni Contabilita Contabilita