Python演算法之二叉樹的實現(二)

2021-10-03 13:48:09 字數 965 閱讀 7316

首先解釋一下什麼為二叉樹:,二叉樹是每個結點最多有兩個子樹的樹結構。通常子樹被稱作「左子樹」(left subtree)和「右子樹」(right subtree)

class

tree

:def

__init__

(self,left,right)

: self.left = left

self.right = right

t = tree(tree(

"a",

"b")

,tree(

"c",

"d")

)print

(t.right.left)

輸出結果:

cprocess finished with exit code 0

首先我們建立了乙個tree類,然後新增了乙個__init__方法,這樣,建立例項時,__init__方法就會在建立例項時自動給例項增加屬性,__init__方法第一屬性必須要為self,後邊的屬性可以自由定義。我們定義了left,以及right,用來表示左右子樹。

例項t中,建立例項,給定例項屬性第一層left為tree(「a」,「b」),right為tree(「c」,「d」),例項屬性裡又包含有tree類,然後再次呼叫__init__方法。

這裡解釋一下**的執行過程:首先建立例項,接著呼叫屬性。**建立例項:**建立t例項,tree類中有tree(「a」,「b」),tree(「c」,「d」)兩種屬性,分別對應著tree類中的left以及right。第一次呼叫屬性t.right,所有確定了tree(「c」,「d」),然後這個屬性中包含了tree類,再次自動呼叫__init__方法,接著第二次呼叫屬性(t.right).left,所以確定了查詢到c。

參考——《python算發教程》

magnus lie hetland 著

凌傑 陸禹淳 顧俊 譯

python之二叉樹

二叉樹是資料結構中的一種資料結構,在用python搭建決策樹模型時,發現需要先實現多叉樹.usr bin python coding utf 8 面對物件程式設計 思想 面對物件永遠不能包含物件 二叉樹 class btree root none class node data none left ...

演算法基礎之二叉樹

本文主要包括樹相關的演算法,二叉樹結點基本結構如下 function treenode x 本文還會繼續更新。function depth proot var depth 0 var currdepth 0 dfs proot return depth function dfs node currd...

二叉樹之 二叉樹深度

二叉樹深度 獲取最大深度 public static int getmaxdepth treenode root 二叉樹寬度 使用佇列,層次遍歷二叉樹。在上一層遍歷完成後,下一層的所有節點已經放到佇列中,此時佇列中的元素個數就是下一層的寬度。以此類推,依次遍歷下一層即可求出二叉樹的最大寬度 獲取最大...