|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2010
Messaggi: 150
|
[C++] Costruire un albero non binario.
Ciao a tutti, avrei bisogno di un aiutino.
Devo creare un albero NON binario, usando il c++. L'esercizio che avevo da fare precedentemente chiedeva di implementare invece un albero binario, e lì allora ho trovato molta documentazione sul web, mentre con questa opzione si trova veramente poco. L'esercizio richiedere questo: • Creazione di un albero vuoto. • Controllo per stabilire se un albero `e vuoto. • “Affiliazione”: inserimento di un nuovo nodo nell’albero, indicando, come parametri dell’operazione, la stringa che identifica il padre e la stringa che rappresenta il nuovo figlio. Se il padre non appartiene all’albero, la funzione deve restituire false e il nuovo nodo non deve essere aggiunto all’albero. • Visita dell’albero, con una strategia di visita a scelta tra quelle conosciute implementata in maniera iterativa e non ricorsiva. La visita deve avere l’obbiettivo di visualizzare l’intero contenuto dell’albero. http://img714.imageshack.us/img714/2073/albero.png I punti 1,2,4 non mi sono problematici, mentre con il tre ho qualche problema. Avete qualche consiglio da darmi ? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12936
|
Credo tu possa risolvere mettendo in ogni nodo una lista di puntatori agli altri nodi.
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
|
il punto 3 è una visita in cui arrivato al nodo ricercato aggiungi il nodo e termini l'iterazione.. quindi è molto simile al punto 4, devi solo fermarti al nodo che cerchi, aggiungere il nuovo e ritornare true (ovviamente se la visita termina e hai visitato tutti i nodi senza aggiungere niente restituisci false)
|
|
|
|
|
|
#4 | |
|
Member
Iscritto dal: Aug 2010
Messaggi: 150
|
Quote:
Specifico subito che non sono un drago con la programmazione, ho iniziato da poco ed i miei prof universitari hanno deciso di buttarmi nel mare, senza darmi regole né niente, quindi sono autodidatta al 100%. Con i puntatori non vado molto d'accordo. L'esercizio precedente ho dichiarato una tab.h così class Albero { struct Cell { string info; Cell* padre; Cell* sinistro; Cell* destro; }; Cell* radice; public : Albero(); ~Albero(); void is_empty (); bool insert (); void print (); }; Ogni volta che aggiungevo dei figli con il cin, aggiornavo la situazione con i puntatori, tenevo sempre un puntatore al primo elemento per stampare totalmente la lista... Quindi ad occhio terrei solo quest'ultimo, i puntatori destro,sinistro e padre li elimino totalmente. Pensavo di creare un array (o una lista) come suggerito da te, di puntatori e pian piano prenderli da lì... Però mi sa che mi mancano proprio le basi per poter fare una cosa del genere, avete qualche link valido dove vi è scritto del codice commentato per fare ciò ? |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:48.



















