Salve a tutti, devo svolgere un programma che datoun file di testo in input, scriva su un file di testo in output un'istogramma delle prime 10 parole più frequenti, ad esempio:
ciao *************
io *********
tu ****
.
.
.
in caso di parole con la stessa frequenza non importa l'ordine, purchè siano ordinate rispetto alle altre. Vorrei utilizzare come struttura dati un albero binario, avevo pensato di:
1. Acquisire le parole e salvarle nell'albero (un elemento per ogni parola presente nel testo)
2. Ordinare alfabeticamente l'albero
3. Costruire un nuovo albero a partire da quello ordinato alfabeticamente con:
struct tnode {
int count; //numero di occorrenze
struct tnode *left; //figlio sinistro
struct tnode *right; //figlio destro
};
Avreste qualche consiglio da darmi sopratutto per il punto 3. ovvero come procedere nell'attraversare l'albero ordinato alfabeticamente e nel creare quello nuovo per le occorrenze?
Grazie anticipatamente.