我正在查找樹遍歷,到目前爲止,我沒有理解它,這意味着預訂,按順序,後序。而簡單的代碼,如:樹遍歷,閱讀代碼
sub P(TreeNode)
Output(TreeNode.value)
If LeftPointer(TreeNode) != NULL Then
P(TreeNode.LeftNode)
If RightPointer(TreeNode) != NULL Then
P(TreeNode.RightNode)
end sub
我發現一個代碼是更長,我感到困惑,會有什麼輸出?
public class My {
public static void print(Node n){
if(n != null) {
System.out.print(n.info +"");
print(n.left);
print(n.right);
}
}
public static void print2(Node n){
if(n != null) {
print2(n.left);
System.out.print(n.info +"");
print2(n.right);
}
}
public static void print3(Node n){
if(n != null) {
print3(n.left);
print3(n.right);
System.out.print(n.info +"");
}
}
public static void main(String[] args) {
Tree t = new Tree();
t.createTree();
print(t.root);
System.out.println();
print2(t.root);
System.out.println();
print3(t.root);
}
}
等只是它容易,我明白讓說:輸入是10,-10,12,8,21,34
什麼將輸出樣子?因爲如果我理解正確,那麼所有3(預購,按序,後序)。
樹的樣子:
10
-10 12
8 21 34
原來,這是我的學校之一考試,他們必須給出答案一個紙,這是他們所得到的信息。沒有人告訴他們樹如何看。
我們看不到你的Tree或Node類,所以這可能不會打印任何東西......你應該在你的代碼中運行你的代碼一個調試器,雖然 –
@ cricket_007正確的,brainfart的時刻,對不起 –