Ho implementato il seguente codice per stampare un albero di ricerca binario in ordine di livello.Livello di stampa Ordine Formattazione albero di ricerca binaria
public void printLevelOrder(int depth) {
for (int i = 1; i <= depth; i++) {
printLevel(root, i);
}
}
public void printLevel(BinaryNode<AnyType> t, int level) {
if (t == null) {
return;
}
if (level == 1) {
System.out.print(t.element);
} else if (level > 1) {
printLevel(t.left, level - 1);
printLevel(t.right, level - 1);
}
}
Sto cercando di capire come migliorare il mio codice per farlo stampare in un determinato formato.
Per fare un esempio, dato un albero
1
/\
2 3
//\
4 5 6
Attualmente esso stampa in questo modo:
123456
Sto cercando per stampare come segue:
Level 0: 1
Level 1: 2 3
Level 2: 4 5 6
Sia la funzione 'printLevel' restituisce il numero di nodo come una stringa invece di stamparlo immediatamente. Quindi, puoi concatenare queste stringhe in qualsiasi formato tu voglia. – Aziz