python資料結構 樹

2021-08-06 07:19:39 字數 2390 閱讀 3648

樹是資料結構中常用到的一種結構,其實現較棧和隊稍為複雜一些。若樹中的所有節點的孩子節點數量不超過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)

print

'*****==='

x.mout(x.base)

print

'*****==='

x.hout(x.base)

Python樹的資料結構

樹 一,名詞 根 樹是由乙個叫做 根 的節點r以及0個或者多個非空子樹組成的 邊 子樹中的每一顆根都被來自根r的一條有向邊連線 樹葉 葉子 沒有兒子的節點稱為樹葉 兄弟 具有相同父親的節點稱為兄弟 祖父和孫子 路徑 從節點n1到nk的路徑定義為節點n1,n2,nk的乙個序列 路徑的長 這條路徑的長為...

python資料結構之樹(概述)

在電腦科學中,樹是分層結構的抽象模型 本篇學習筆記記錄樹的內容如下 樹的基本功能 定義 術語 adt 樹的遍歷方法 前序 中序 後序 第一種 樹由一組節點和一組連線節點的邊組成。樹具有以下屬性 第二種 樹是空的,或者由乙個根節點和零個或多個子樹組成,每個子樹也是一棵樹。每個子樹的根節點通過邊連線到父...

資料結構 樹

樹的概念 1.家族樹 在現實生活中,有入如下血統關係的家族可用樹形圖表示 張源有三個孩子張明 張亮和張麗 張明有兩個孩子張林和張維 張亮有三個孩子張平 張華和張群 張平有兩個孩子張晶和張磊。以上表示很像一棵倒畫的樹。其中 樹根 是張源,樹的 分支點 是張明 張亮和張平,該家族的其餘成員均是 樹葉 而...