pythonツリーの構造と印刷

1295 ワード

一番前に書きます.
最も簡単な二叉木の構造から始めて、二叉木のデータ構造を深く理解して、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

 
最近事は本当に多すぎて、本当に毎日人はすべてとても疲れて、やはり毎日少し更新することを堅持して、すでに強迫症になりそうです.