(Python 2.7) 指定された preorder と inorder および preorder と inorder の文字列の最大長でバイナリ ツリーの bfs を出力する必要があります。たとえば、次のように機能する方法を知っています: preorder:ABCDE inorder:CBDAE max length:5
A
/ \
B E
/ \
C D
BFS:ABECD
これまでのところ、私はこれを理解しました
class BinaryTree:
def __init__ (self, value, parent=None):
self.parent = parent
self.left_child = None
self.right_child = None
self.value=value
def setLeftChild(self, child=None):
self.left_child = child
if child:
child.parent = self
def setRightChild(self, child=None):
self.right_child = child
if child:
child.parent = self
preorder={}
inorder={}
print "max string length?"
i=int(raw_input())
count=0
while i>count:
print"insert the preorder"
preorder[raw_input()]=count
count=count+1
print "preorder is",sorted(preorder, key=preorder.get)
count2=0
while i>count2:
print"insert the inorder"
inorder[raw_input()]=count2
count2=count2+1
print "inorder is",sorted(inorder, key=inorder.get)
root=
Python でバイナリ ツリーを作成する方法はわかりましたが、次の子の値を追加する方法がわかりません。ご覧のとおり、ルートは既にあり、最初の子 (左右) を挿入する方法はわかりましたが、次の子を追加する方法はわかりません。