Ciao a tutti,
ho bisogno del vostro aiuto per poter realizzare questo progetto universitario.

Heap Sort
Descrizione del problema
Il progetto consiste nell’ordinare in modo crescente una serie di numeri dati
come input leggendoli da un file di testo. L’algoritmo di ordinamento utilizzato
deve essere l’Heap Sort. In seguito sarà possibile aggiungere numeri tenendo
sempre la struttura ordinata. E’ richiesta quindi l’implementazione di un Heap
Tree, visibile graficamente al termine dell’ordinamento.
Quindi, il programma legge dal file di testo eventuali numeri, li ordina con
l’heap sort e visualizza l’heap tree generato. A questo punto chiede all’utente se
vuole aggiungere altri numeri. Una volta aggiunto un altro numero si procede di
nuovo con l’ordinamento e la visualizzazione del nuovo albero.
Dati in input
Il file in input è composto da 1 riga con la lista dei numeri da ordinare. La lista
potrebbe essere anche vuota, inserendo manualmente i numeri uno alla volta a
run-time.
Dati di output
Un file immagine che rappresenta l’Heap Tree generato
Suggerimenti
Per la visualizzazione grafica delle strutture dati, specie dei grafi e alberi,
esistono librerie open-source. Una di queste è http://www.graphviz.org.
Con GraphViz basta fornire dei dati secondo una certa sintassi, e lui
automaticamente creerà l’immagine della struttura dati. Ovviamente la
visualizzazione grafica dell’albero è indipendente dal resto del progetto, quindi
può essere integrata alla fine, aggiungendo una classe che converte il vostro
HeapTree in un formato compatibile con GraphViz. La documentazione sul sito
http://www.graphviz.org spiega come fare e fornisce degli esempi.


Grazie in anticipo per le risposte