pythonツリーの構造と印刷
1295 ワード
一番前に書きます.
最も簡単な二叉木の構造から始めて、二叉木のデータ構造を深く理解して、ps:データ構造のできないプログラム猿は三流しかありません
まず、二叉木を作ります.
これは最も標準的で、最も簡単な二叉木の構造方法でもあります.
ここでは,ツリーのルート,左右のノードを定義し,ノード間の関係を構築する必要がある.
ツリー関数の印刷
呼び出し関数と構造されたツリーを入れる
出力は次のとおりです.
最近事は本当に多すぎて、本当に毎日人はすべてとても疲れて、やはり毎日少し更新することを堅持して、すでに強迫症になりそうです.
最も簡単な二叉木の構造から始めて、二叉木のデータ構造を深く理解して、ps:データ構造のできないプログラム猿は三流しかありません
まず、二叉木を作ります.
これは最も標準的で、最も簡単な二叉木の構造方法でもあります.
'''
:
3
9 20
15 7
'''
class Tree():
' '
def __init__(self,data,left = 0,right = 0):
self.left = left
self.right = right
self.data = data
def __str__(self):
return str(self.data)
# test tree
tree1 = Tree(data=15)
tree2 = Tree(data=7)
tree3 = Tree(20,tree1,tree2)
tree4 = Tree(data=9)
base = Tree(3,tree4,tree3)
ここでは,ツリーのルート,左右のノードを定義し,ノード間の関係を構築する必要がある.
ツリー関数の印刷
def function(root):
A = []
result = []
if not root:
return result
A.append(root)
while A:
current_root = A.pop(0)
result.append(current_root.data)
if current_root.left:
A.append(current_root.left)
if current_root.right:
A.append(current_root.right)
print(result)
return result
呼び出し関数と構造されたツリーを入れる
function(base)
出力は次のとおりです.
[3, 9, 20, 15, 7]
Process finished with exit code 0
最近事は本当に多すぎて、本当に毎日人はすべてとても疲れて、やはり毎日少し更新することを堅持して、すでに強迫症になりそうです.