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

歡迎訪問 生活随笔!

生活随笔

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

python

Python教程讲解二叉树的三种深度

發布時間:2024/9/30 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python教程讲解二叉树的三种深度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python代碼實現了二叉樹,這次將會實現二叉樹的幾種遍歷方法,來更好的解析二叉樹的結構特點。分別是一種廣度遍歷,和三種深度遍歷方法:先序遍歷,中序遍歷,后序遍歷。下面是代碼實現:

1、先序遍歷

遍歷順序:根==》左子樹==》右子樹,實現代碼:

def pre(self,node):#定義一個先序遍歷的方法

if node is None:#判斷節點是否為空,為空則返回

return

print(node.elem,end=’ ')#打印遍歷的節點

self.pre(node.left)#遞歸左子樹

self.pre(node.right)#遞歸右子樹

2、中序遍歷

遍歷順序:左子樹==》根 ==》右子樹,實現代碼:

def md(self,node):#定義一個中序遍歷的方法

if node is None: #判斷節點是否為空,為空則返回

return

self.md(node.left) #遞歸左子樹

print(node.elem,end=’ ') #打印遍歷的節點

self.md(node.right) #遞歸右子樹

3、后序遍歷

遍歷順序:左子樹==》右子樹==》根,實現代碼:

def bhd(self,node):#定義一個后序遍歷的方法

if node is None:#判斷節點是否為空,為空返回

return

self.bhd(node.left)#遞歸左子樹

self.bhd(node.right)#遞歸右子樹

print(node.elem,end=’ ')#打印遍歷的節點

打印結果:

if __ name__ == “__ main__”:

tree=Tree()

tree.add(0)

tree.add(1)

tree.add(2)

tree.add(3)

tree.add(4)

tree.add(5)

tree.add(6)

tree.add(7)

tree.add(8)

tree.pre(tree.root)#打印先序遍歷的值

print(’ ')

tree.md(tree.root)#打印中序遍歷的值

print(’ ')

tree.bhd(tree.root)#打印后序遍歷的值

print(’ ')

#輸出:

#0 1 3 7 8 4 2 5 6 先序遍歷的值

#7 3 8 1 4 0 5 2 6 中序遍歷的值

#7 8 3 4 1 5 6 2 0 后序遍歷的值

總結二叉樹的三種深度遍歷的實現主要是利用了遞歸,利用不同的遍歷順序來改變遞歸的順序和節點打印的順序來實現,利用這一特點就可以用python快速的實現三種遍歷方法了。

本文來自千鋒教育,轉載請注明出處。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Python教程讲解二叉树的三种深度的全部內容,希望文章能夠幫你解決所遇到的問題。

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