基于python二叉樹(shù)的構(gòu)造和打印例子
寫(xiě)在最前面:
帶你從最簡(jiǎn)單的二叉樹(shù)構(gòu)造開(kāi)始,深入理解二叉樹(shù)的數(shù)據(jù)結(jié)構(gòu),ps:不會(huì)數(shù)據(jù)結(jié)構(gòu)的程序猿只能是三流的
首先,我們構(gòu)造一個(gè)二叉樹(shù)
這是最標(biāo)準(zhǔn),也是最簡(jiǎn)單的二叉樹(shù)構(gòu)造方法
''' 樹(shù)的構(gòu)建: 3 9 20 15 7 ''' class Tree(): '樹(shù)的實(shí)現(xiàn)' def __init__(self,data,left = 0,right = 0): self.left = left self.right = right self.data = data def __str__(self): return str(self.data) # test tree tree1 = Tree(data=15) tree2 = Tree(data=7) tree3 = Tree(20,tree1,tree2) tree4 = Tree(data=9) base = Tree(3,tree4,tree3)
這里我們需要定義二叉樹(shù)的根,左右節(jié)點(diǎn),然后構(gòu)造節(jié)點(diǎn)之間的關(guān)系
打印二叉樹(shù)函數(shù)
def function(root): A = [] result = [] if not root: return result A.append(root) while A: current_root = A.pop(0) result.append(current_root.data) if current_root.left: A.append(current_root.left) if current_root.right: A.append(current_root.right) print(result) return result
調(diào)用函數(shù)以及放入構(gòu)造好的二叉樹(shù)
function(base)
輸出如下:
[3, 9, 20, 15, 7] Process finished with exit code 0
最近事情實(shí)在是太多,真的是每天人都很累,還是堅(jiān)持每天更新一點(diǎn),已經(jīng)快要強(qiáng)迫癥了。
以上這篇基于python二叉樹(shù)的構(gòu)造和打印例子就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python對(duì)稱的二叉樹(shù)多種思路實(shí)現(xiàn)方法
- python3實(shí)現(xiàn)在二叉樹(shù)中找出和為某一值的所有路徑(推薦)
- Python實(shí)現(xiàn)二叉樹(shù)的最小深度的兩種方法
- Python3 翻轉(zhuǎn)二叉樹(shù)的實(shí)現(xiàn)
- Python3實(shí)現(xiàn)二叉樹(shù)的最大深度
- Python3 合并二叉樹(shù)的實(shí)現(xiàn)
- 用Python實(shí)現(xiàn)二叉樹(shù)、二叉樹(shù)非遞歸遍歷及繪制的例子
- Python 二叉樹(shù)的層序建立與三種遍歷實(shí)現(xiàn)詳解
- python3實(shí)現(xiàn)二叉樹(shù)的遍歷與遞歸算法解析(小結(jié))
- 如何在Python中創(chuàng)建二叉樹(shù)
相關(guān)文章
如何通過(guò)50行Python代碼獲取公眾號(hào)全部文章
這篇文章主要介紹了如何通過(guò)50行Python代碼獲取公眾號(hào)全部文章,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07Python爬蟲(chóng)模擬登錄帶驗(yàn)證碼網(wǎng)站
這篇文章主要介紹了Python爬蟲(chóng)模擬登錄帶驗(yàn)證碼網(wǎng)站的相關(guān)資料,需要的朋友可以參考下2016-01-01vscode調(diào)試django項(xiàng)目的方法
這篇文章主要介紹了vscode調(diào)試django項(xiàng)目的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Python新手入門(mén)之常用關(guān)鍵字的簡(jiǎn)單示例詳解
關(guān)鍵字是預(yù)先保留的標(biāo)識(shí)符,每個(gè)關(guān)鍵字都有特殊的含義,下面這篇文章主要給大家介紹了關(guān)于Python新手入門(mén)之常用關(guān)鍵字的簡(jiǎn)單示例,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03用python爬取今日說(shuō)法每期數(shù)據(jù)
大家好,本篇文章主要講的是用python爬取今日說(shuō)法每期數(shù)據(jù),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-02-02django-rest-framework解析請(qǐng)求參數(shù)過(guò)程詳解
這篇文章主要介紹了django-rest-framework解析請(qǐng)求參數(shù)過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07Python MySQL數(shù)據(jù)庫(kù)基本操作及項(xiàng)目示例詳解
這篇文章主要介紹了Python連接MySQL數(shù)據(jù)庫(kù)后的一些基本操作,并以銀行管理系統(tǒng)項(xiàng)目為例,為大家具體介紹了一下部分功能的實(shí)現(xiàn),文中的示例代碼具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下2021-12-12pandas 將list切分后存入DataFrame中的實(shí)例
今天小編就為大家分享一篇pandas 將list切分后存入DataFrame中的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07