リストからツリーを作成するpython実装
ツリーの作成
python実装により、与えられたリストをパラメータとして
関連コード
結果
ここで、第1の動作の前順は遍歴する.後者の動作では、シーケンスが遍歴されます.
python実装により、与えられたリストをパラメータとして
関連コード
# -*- coding:utf-8 -*-
' '
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
' '
def listCreatTree(root, llist, i):
if i < len(llist):
if llist[i] == '#':
return None ### return
else:
root = TreeNode(llist[i])
#
root.left = listCreatTree(root.left, llist, 2 * i + 1) # , ,
#
root.right = listCreatTree(root.right, llist, 2 * i + 2) # , ,
# '
return root ### return
return root
#
def preOrderBT(root):
if not root:
return None
print(root.val, end='\t')
preOrderBT(root.left)
preOrderBT(root.right)
#
def midOrdBT(root):
if not root:
return "#"
midOrdBT(root.left)
print(root.val, end="\t")
midOrdBT(root.right)
if __name__ == '__main__':
llist = ['1', '2', '3', '#', '4', '5', '6']
root = listCreatTree(None, llist, 0)
#p = root
print(".............................")
preOrderBT(root)
print()
midOrdBT(root)
# print(root.val)
# while root
結果
ここで、第1の動作の前順は遍歴する.後者の動作では、シーケンスが遍歴されます.
.............................
1 2 4 3 5 6
2 4 1 5 3 6