Tôi đã triển khai mã sau đây để in cây tìm kiếm nhị phân theo thứ tự cấp.Thứ tự cấp bậc in Tìm kiếm nhị phân Định dạng cây
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);
}
}
Tôi đang cố gắng tìm hiểu cách cải thiện mã của mình để in ra ở định dạng nhất định.
Như một ví dụ, cho một cây
1
/\
2 3
//\
4 5 6
Hiện nay nó in như vậy:
123456
Tôi đang tìm nó để in như sau:
Level 0: 1
Level 1: 2 3
Level 2: 4 5 6
Hãy để chức năng 'printLevel' trả về số nút như là một chuỗi thay vì in nó ngay lập tức. Sau đó, bạn có thể ghép các chuỗi này theo bất kỳ định dạng nào bạn muốn. – Aziz