このツリーを考えてみましょう:
7
/ \
/ \
/ \
1 9
/ \ / \
0 3 8 10
/ \
2 5
/ \
4 6
順番に:
0、1、2、3、4、5、6、7、8、9、10
予約注文:
7、1、0、3、2、5、4、6、9、8、10
Inorder traversal を実行している間、一番左のノードが最初に特定され、そこから探索が開始されます。しかし、Preorder に関しては、同じロジック (左端の中間ノードと同様) は適用されません。
上記のツリーには、ルート 7 を除いて、中間ノードである 1 と 9 があります。1 は左端の中間ノード、9 は右端の中間ノードです。上記の InOrder に適用されたロジックによると、Preorder トラバーサルはノード 1 から開始されているはずですが、これは一番左の中間ノードですが、そうではないのはなぜですか?
Inorder ではトラバーサルが左端のノードから開始されるのに、PreOrder トラバーサルが左端の中間ノードから開始されないのはなぜですか?
ありがとう、クリス。