樹是資料結構中常用到的一種結構,其實現較棧和隊稍為複雜一些。若樹中的所有節點的孩子節點數量不超過2個,則該為乙個二叉樹。
「巢狀列表」表示樹
樹的根是mytree[0]
,根的左子樹是mytree[1]
,和右子樹是mytree[2]
#二叉樹
class
tree
():def
__init__
(self, leftjd=0, rightjd=0, data =0):
self.leftjd = leftjd
self.rightjd = rightjd
self.data = data
class
btree
():def
__init__
(self, base = 0):
self.base = base
defempty
(self):
if self.base is
0: return
true
else:
return
false
defqout
(self, jd):
""" 前序遍歷 nlr 根左右
:param jd:
:return:
"""if jd == 0:
return
print jd.data
self.qout(jd.leftjd) #遞迴呼叫
self.qout(jd.rightjd)
defmout
(self,jd):
""" 中序遍歷 lnr 左根右
:param jd:
:return:
"""if jd == 0:
return
self.qout(jd.leftjd)
print jd.data
self.qout(jd.rightjd)
defhout
(self,jd):
""" 後序遍歷 lrn 左右根
:param jd:
:return:
"""if jd ==0:
return
self.qout(jd.leftjd) # 遞迴呼叫
self.qout(jd.rightjd)
print jd.data
if __name__ == '__main__':
dj1 = tree(data=8)
dj2 = tree(data=9)
base = tree(dj1, dj2, 7)# 根節點
x = btree(base)
x.qout(x.base)
'*****==='
x.mout(x.base)
'*****==='
x.hout(x.base)
Python樹的資料結構
樹 一,名詞 根 樹是由乙個叫做 根 的節點r以及0個或者多個非空子樹組成的 邊 子樹中的每一顆根都被來自根r的一條有向邊連線 樹葉 葉子 沒有兒子的節點稱為樹葉 兄弟 具有相同父親的節點稱為兄弟 祖父和孫子 路徑 從節點n1到nk的路徑定義為節點n1,n2,nk的乙個序列 路徑的長 這條路徑的長為...
python資料結構之樹(概述)
在電腦科學中,樹是分層結構的抽象模型 本篇學習筆記記錄樹的內容如下 樹的基本功能 定義 術語 adt 樹的遍歷方法 前序 中序 後序 第一種 樹由一組節點和一組連線節點的邊組成。樹具有以下屬性 第二種 樹是空的,或者由乙個根節點和零個或多個子樹組成,每個子樹也是一棵樹。每個子樹的根節點通過邊連線到父...
資料結構 樹
樹的概念 1.家族樹 在現實生活中,有入如下血統關係的家族可用樹形圖表示 張源有三個孩子張明 張亮和張麗 張明有兩個孩子張林和張維 張亮有三個孩子張平 張華和張群 張平有兩個孩子張晶和張磊。以上表示很像一棵倒畫的樹。其中 樹根 是張源,樹的 分支點 是張明 張亮和張平,該家族的其餘成員均是 樹葉 而...