私はツリー・トラバーサルを探していましたが、これまでのところ私はそれを理解することに問題はなく、プレオーダー、イン・オーダー、ポスト・オーダーを意味していました。などの単純なコード:ツリー・トラバース、コードの読取り
sub P(TreeNode)
Output(TreeNode.value)
If LeftPointer(TreeNode) != NULL Then
P(TreeNode.LeftNode)
If RightPointer(TreeNode) != NULL Then
P(TreeNode.RightNode)
end sub
iは長いコードを発見し、私はどのような出力になり、混乱しましたか?
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右脳の瞬間、申し訳ありません –