精品熟女碰碰人人a久久,多姿,欧美欧美a v日韩中文字幕,日本福利片秋霞国产午夜,欧美成人禁片在线观看

Python 二叉樹

python 二叉樹

樹表示由邊連接的節點。它是一個非線性數據結構。它具有以下屬性。

  • 一個節點被標記為根節點。
  • 除根之外的每個節點都與一個父節點相關聯。
  • 每個節點可以有一個數字的節點號。

我們使用前面討論的概念os節點在python中創建一個樹數據結構。我們將一個節點指定為根節點,然后將更多節點添加為子節點。下面是創建根節點的程序。

創建根

我們只需創建一個node類并添加一個值給節點。這變成只有根節點的樹。

class node:

    def __init__(self, data):

        self.left = none
        self.right = none
        self.data = data


    def printtree(self):
        print(self.data)

root = node(10)

root.printtree()

當上面的代碼被執行時,它會產生以下結果 -

10

 

插入樹中

為了插入到樹中,我們使用上面創建的相同節點類并為其添加插入類。insert類將節點的值與父節點進行比較,并決定將其添加為左節點或右節點。最后,printtree類用于打印樹。

class node:

    def __init__(self, data):

        self.left = none
        self.right = none
        self.data = data

    def insert(self, data):
# compare the new value with the parent node
        if self.data:
            if data < self.data:
                if self.left is none:
                    self.left = node(data)
                else:
                    self.left.insert(data)
            elif data > self.data:
                if self.right is none:
                    self.right = node(data)
                else:
                    self.right.insert(data)
        else:
            self.data = data

# print the tree
    def printtree(self):
        if self.left:
            self.left.printtree()
        print( self.data),
        if self.right:
            self.right.printtree()

# use the insert method to add nodes
root = node(12)
root.insert(6)
root.insert(14)
root.insert(3)

root.printtree()

當上面的代碼被執行時,它會產生以下結果 -

3 6 12 14

 

travesring一棵樹

樹可以通過決定訪問每個節點的序列來遍歷。我們可以清楚地看到,我們可以從一個節點開始,然后訪問左側子樹第一個和右側子樹。或者我們也可以先訪問右邊的子樹,然后訪問左邊的子樹。因此,這些樹遍歷方法有不同的名稱。我們在這里實現樹遍歷算法的章節中詳細研究它們。

下一節:python 搜索樹

python 數據結構

相關文章