首先解釋一下什麼為二叉樹:,二叉樹是每個結點最多有兩個子樹的樹結構。通常子樹被稱作「左子樹」(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 二叉樹寬度 使用佇列,層次遍歷二叉樹。在上一層遍歷完成後,下一層的所有節點已經放到佇列中,此時佇列中的元素個數就是下一層的寬度。以此類推,依次遍歷下一層即可求出二叉樹的最大寬度 獲取最大...