Terza Esercitazione in Laboratorio


Introduzione

In questa esercitazione ci proponiamo di utilizzare la struttura di dati di tipo Albero N-ario .

L'implementazione dell'albero n-ario e' gia' disponibile attraverso i link seguenti:

Nei files e' definita la struttura dati astratta Tree e TreeNode e sono gia' implementati i metodi principali per la gestione. Ogni nodo dell'albero ha un puntatore al primo figlio e al prossimo fratello. E' inoltre disponibile un puntatore al nodo padre.

Tra i metodi disponibili si trovano:

Comandi di base

L'idea generale e' quella di implementare (attraverso opportuno codice Java) un programma che permette di manipolare i dati memorizzati in un albero n-ario accettando comandi interattivi da tastiera.
In ogni istante e' selezionato un nodo dell'albero ed e' possibile spostarsi all'interno con opportuni comandi.
Ad ogni iterazione, il sistema deve fornire la stampa di un menu' con tutte le funzioni disponibili ed in base alla scelta effettuata invocare l'azione opportuna.

Le operazioni disponibili devono essere:

Ad ogni comando deve corrispondere una opportuna stringa per la scelta (es usare i numeri da 1 a n per i singoli menu.)


Qui e' disponibile uno scheletro del programma.
Provare la correttezza delle funzioni utilizzando il seguente albero come riferimento:

albero

Altre funzioni

Implementare le seguenti funzioni nella classe Tree:
Per le nuove funzioni implementate definire nel menu utente l'opportuno comando che le esegue. Nel caso delle funzioni che prendono come argomento un nodo, applicarle al nodo corrente

Funzioni avanzate (Facoltativo)

Aggiungere le seguenti funzioni alla classe Tree:
Per le nuove funzioni implementate definire nel menu utente l'opportuno comando che le esegue. Nel caso delle funzioni che prendono come argomento un nodo, applicarle al nodo corrente
Soluzione