構建樹的結構,新增刪除樹節點

2021-10-01 01:51:24 字數 1003 閱讀 9993

樹的結構

單鏈表

1 使用列表的形式構建樹

#使用list構建樹

g = [『g』,]

h=[『h』,]

i=[『i』,]

k=[『k』,]

e=[『e』,[g,h,i,k]]

d=[『d』,]

f=[『f』,]

a=[『a』,[d,e]]

b=[『b』,]

c=[『c』,[f]]

root=[『root』,[a,b,c]]

print(root)

123

4567

891011

1213

2 使用類的方式構建二叉樹會簡單一些

class btree: #二叉樹節點

definit(self,value): #初始化函式

self.left = none #左兒子

self.right = none #右兒子

self.data = value #節點值

def insertleft(self,value):   #左子樹插入節點

self.left = btree(value)

return self.left

def insertright(self,value): #右子樹插入節點

self.right = btree(value)

return self.right

def show(self): #輸出節點資料

print(self.data)

二叉樹節點的刪除

昨天在看書的時候,突然看到二叉查詢樹的刪除,以前學過,不過學的不仔細,結果研究了一晚上,才把二叉樹的刪除操作給整出來。唉,以後看書要仔細啊。先說一下如何刪除二叉樹查詢樹的節點吧。總共有三種情況 1.被刪除的節點是葉子節點,這時候只要把這個節點刪除,再把指向這個節點的父節點指標置為空就行 2.被刪除的...

Linux 裝置樹 節點與屬性的刪除

應用條件 通常dts中包含了多個平台的描述檔案,且多個平台會共享一些通用的dtsi。這些dtsi的節點對於指定的平台來說,其節點未必全部需要,因此就需要將不需要的節點進行裁剪或者disable。節點刪除就是實現這個作用。語法如下 delete node 節點名 例如在dra7.dtsi裡面定義了rt...

二叉樹節點的刪除

昨天在看書的時候,突然看到二叉查詢樹的刪除,以前學過,不過學的不仔細,結果研究了一晚上,才把二叉樹的刪除操作給整出來。唉,以後看書要仔細啊。先說一下如何刪除二叉樹查詢樹的節點吧。總共有三種情況 1.被刪除的節點是葉子節點,這時候只要把這個節點刪除,再把指向這個節點的父節點指標置為空就行 2.被刪除的...