Albero binario in c
In c, a albero binario è un'istanza di una struttura dei dati ad albero con un nodo genitore che può possedere un numero massimo di due nodi figlio; 0, 1 o 2 nodi di prole. Ogni singolo nodo in a albero binario ha un valore proprio e due puntatori per i suoi figli, un puntatore per il bambino sinistro e l'altro per il bambino destro.
Dichiarazione dell'albero binario
UN albero binario può essere dichiarato in c usando un oggetto chiamato strumento che raffigura uno dei nodi nell'albero.
nodo structSopra è una dichiarazione di uno albero binario Nome nodo come nodo. Contiene tre valori; Uno è la variabile di archiviazione dati e gli altri due sono i puntatori del bambino. (figlio sinistro e destro del nodo genitore).
Fatti di albero binario
Anche per grandi serie di dati, utilizzando un albero binario Rende la ricerca più semplice e veloce. Il numero di rami ad albero non è limitato. Contrariamente a un array, gli alberi di qualsiasi tipo possono essere fatti e aumentati in base a ciò che è richiesto da un individuo.
Implementazione binaria dell'albero in c
Quella che segue è una guida passo-passo per l'implementazione di Albero binario in c.
Passaggio 1: dichiarare un albero di ricerca binaria
Crea un nodo struct che abbia tre tipi di dati, come dati, *Left_Child e *Right_Child, dove i dati possono essere di tipo intero, ed entrambi i nodi *Left_Child e *destro_Child possono essere dichiarati null o no.
nodo structPassaggio 2: creare nuovi nodi nell'albero di ricerca binaria
Crea un nuovo nodo creando una funzione che accetta un numero intero come argomento e fornisce il puntatore al nuovo nodo creato con quel valore. Utilizzare la funzione Malloc () in C per l'allocazione di memoria dinamica per il nodo creato. Inizializza il bambino sinistro e destro su NULL e restituisce il NODENAME.
Struct Node* create (dati del tipo di dati)Passaggio 3: inserire i bambini a destra e sinistra nell'albero binario
Crea funzioni insert_left e insert_right che accettano due input, che sono il valore da inserire e il puntatore al nodo a cui entrambi i bambini saranno collegati. Chiama la funzione Crea per creare un nuovo nodo e assegnare il puntatore restituito al puntatore sinistro del figlio sinistro o il puntatore destro del figlio destro del genitore radice.
Struct Node* Insert_left (root struct* root, dati dati)Passaggio 4: visualizzare i nodi di albero binario usando i metodi di attraversamento
Possiamo visualizzare alberi usando tre metodi di attraversamento in C. Questi metodi di attraversamento sono:
1: attraversamento del pre-ordine
In questo metodo di attraversamento, passeremo attraverso i nodi in una direzione da parent_node-> left_child-> destro_child.
void pre_order (nodo * root)2: attraversamento post-ordine
In questo metodo di attraversamento, attraverseremo i nodi in una direzione dal Left_Child-> Right_Child-> Parent_node->.
void display_post_order (nodo * root)3: attraversamento in ordine
In questo metodo di attraversamento, passeremo attraverso i nodi in una direzione da left_node-> root_child-> destro_child.
void display_in_order (nodo * root)Passaggio 5: eseguire la cancellazione nell'albero binario
Possiamo eliminare il creato Albero binario Eliminando entrambi i bambini con la funzione del nodo genitore in C come segue.
void delete_t (nodo * root)Programma C di albero di ricerca binaria
Di seguito è la completa implementazione dell'albero di ricerca binaria nella programmazione C:
#includereNel codice sopra, dichiariamo prima a nodo usando strumento. Quindi inizializziamo un nuovo nodo come "nodo1"E allocare la memoria in modo dinamico usando Malloc () In C con dati e due puntatori digitano i bambini usando il nodo dichiarato. Dopo questo, visualizziamo il nodo di printf () funzione e chiamalo in principale() funzione. Poi il insertion_node () viene creata la funzione, dove se i dati del nodo sono nulli nodo1 è in pensione, altrimenti i dati sono inseriti in nodo(genitore) del bambino sinistro e destro. Il programma inizia l'esecuzione da principale() funzione, che genera un nodo utilizzando alcuni nodi campione come bambini e quindi utilizza metodi di attraversamento in ordine per stampare il contenuto del nodo.
Produzione
Conclusione
Gli alberi sono spesso impiegati per mantenere i dati in una forma non lineare. Alberi binari sono tipi di alberi in cui ciascun nodo (genitore) ha due progressi del bambino sinistro e il figlio destro. UN albero binario è un metodo versatile per trasferire e archiviare i dati. È più efficiente rispetto alla lista collegata in c. Nell'articolo di cui sopra, abbiamo visto il concetto di a Albero binario con l'implementazione passo-passo di a Albero di ricerca binaria in c.