日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python二叉树去重_python二叉树学习分享

發布時間:2024/9/27 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python二叉树去重_python二叉树学习分享 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹:樹形結構是應用相當廣泛的一種非線性結構,建立與應用大多使用鏈表來處理,當然也可用連續的列表來實現

常見概念:

滿二叉樹:如果樹高位H,樹的結點總數為2*H-1,H>=0,稱為滿二叉樹

完全二叉樹:高度為H,節點數小于2*H-1,但節點的編號方式與滿二叉樹一致

斜二叉樹:當一個二叉樹完全沒有左節點或者右節點的時候,稱為左斜二叉樹或者右斜二叉樹

嚴格二叉樹:每一個非終端的節點均有非空的左右子樹

1.用數組實現二叉樹

規則:左子樹的節點索引值是父節點索引值乘2

右子樹的節點索引值是父節點索引值乘2加1

每一個樹根的值大于左子樹值小于友子樹值

創建函數:

defBetree(betree,data,length):for i in range(1,length):

level= 1

while betree[level] !=0:if betree[level] >data[i]:

level= level*2

else:

level= level*2+1betree[level]=data[i]return betree

2.鏈表實現二叉樹

有點:節點的增加和刪除容易實現,缺點:很難找到父節點

classtree:def __init__(self):

self.data=0

self.left=None

self.right=None

def creat_tree(root,val):

newnode=tree()

newnode.data=val

newnode.left=None

newnode.right=None

if root==None:

root=newnode

return root

else:

current=root

while current != None:

backup = current

if current.data > val:

current=current.left

else:

current=current.right

if backup.data > val:

backup.left = newnode

else:

backup.right = newnode

3.二叉樹遍歷

三種遍歷方法:

#中序遍歷

definorder(ptr):if ptr !=None:

inorder(ptr.left)print("%4d"%ptr.data,end="")

inorder(ptr.right)print()#后序遍歷

defpostorder(ptr):if ptr !=None:

postorder(ptr.left)

postorder(ptr.right)print("%4d"%ptr.data,end="")print()#前序遍歷

defpreorder(ptr):if ptr !=None:print("%4d"%ptr.data,end="")

preorder(ptr.left)

preorder(ptr.right)

4.二叉樹節點查找

原則:從樹根出發進行比較,如果小于樹根,左子樹查找,大于樹根,右子樹查找,找到要查找的值

defsearch(ptr,val):whileTrue:if ptr ==None:returnNoneif ptr.data ==val:returnptrelse:if ptr.data >val:

ptr=ptr.leftelse:

ptr= ptr.right

5.二叉樹節點的刪除

a.刪除的節點位葉子,只需將與其相連的父節點指向None

b.刪除節點只有一棵子樹,將其子樹移到該節點的父節點指向

c.刪除節點有左右兩個子樹,將左右子樹中值較大的子樹移到該結點處

總結

以上是生活随笔為你收集整理的python二叉树去重_python二叉树学习分享的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。