次のコードでは、Aは(B、C)、Bは(D、E)、5つの要素を持っています。要素、およびそのノードは、いくつかのいずれかこれは単にrecursionでこのコードをPythonでのツリーのトラバーサル子ノードの印刷後に親ノードを決定する方法
class trees(object):
def __init__(self,name,left=None,right=None):
self.name = name
self.left = None
self.right = None
def inorderTraversal(root):
res = []
if root:
res = inorderTraversal(root.left)
print root.name
res = res + inorderTraversal(root.right)
t1=trees('A')
t2=trees('B')
t3=trees('C')
t4=trees('D')
t5=trees('E')
t1.left = t2
t1.right = t3
t2.left= t4
t2.right = t5
inorderTraversal(t1)
#prints D,B,E,A,C
再帰呼び出しをまとめてみよう'D'は現在ルートがt4ですが、 'B'はどのように印刷されますか。あなたのポイントで今変更がいつ行われますか? – Rajeev
コードで別の例を追加しました。しかし、あなたは本当に再帰に精通していますか?それがここで起こっている唯一の事だ – Quickbeam2k1
私はそれが再帰がどのように機能するかと今思う。 t2でtraverse関数を再度呼び出すのではなく、その子に対してのみコマンドを実行します。だから、t2は、左と右の子が「なし」であるとは見ません。なぜなら、そうではないからです。 Btw、あなたは絶対に何もしないし、おそらく事をより複雑にするので、resを取り除くべきです。 – Quickbeam2k1