La realizazione in linguaggio C proposta è quella di un albero padre/primofiglio/fratello attualizzata alla struttura di albero binario. Avremo quindi per ogni nodo dell’ albero binario:
il valore del nodo;
un puntatore al padre;
un puntatore al figlio sinistro ed uno al figlio destro.
Creiamo innanzi tutto la struttura che avrà ogni cella:
Di seguito le funzioni creabinalbero, per creare un albero binario, la funzione binalberovuoto, per verificare che l’ albero sia vuoto e la funzione binradice per accedere direttamente alla radice di un albero.
Proseguiamo con le funzioni binpadre, utile per accedere al padre di un nodo, e le funioni figliosinistro e figliodestro, per accedere al figlio sinistro o destro di un nodo.
Aggiungiamo anche le due funzioni sinistrovuoto e destrovuoto per verificare se un nodo ha un figlio sinistro o destro.
Infine analizziamo la funzione costrbinalbero(T,U), una particolare funzione che produce un albero T’ ottenuto introducendo un nuovo nodo u (che diventa la radice di T’) che ha come sottoalbero sinistro T e U come sottoalbero destro.
Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.