日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

如何在Python中創(chuàng)建二叉樹(shù)

瀏覽:126日期:2022-06-23 17:18:18
前言

本文的內(nèi)容是數(shù)據(jù)結(jié)構(gòu)中二叉樹(shù)部分最基礎(chǔ)的,之所以寫(xiě)一下主要是為了方便刷題的時(shí)候,能夠在自己電腦上很快的使用這種小的demo進(jìn)行復(fù)雜的練習(xí)。

二叉樹(shù)節(jié)點(diǎn)定義

二叉樹(shù)的節(jié)點(diǎn)定義如下:

class TreeNode():#二叉樹(shù)節(jié)點(diǎn) def __init__(self,val,lchild=None,rchild=None): self.val=val#二叉樹(shù)的節(jié)點(diǎn)值 self.lchild=lchild#左孩子 self.rchild=rchild#右孩子遞歸構(gòu)建二叉樹(shù)

本文使用的前序遞歸構(gòu)建的方法(其余順序讀者自行變化,本文主要意在如何快速構(gòu)建能夠執(zhí)行的二叉樹(shù))例如,我們想構(gòu)建一個(gè)如下圖所示的樹(shù)(其前序遍歷結(jié)果為:abcde):

如何在Python中創(chuàng)建二叉樹(shù)

這里我們需要使用到擴(kuò)展的二叉樹(shù),也就是要告訴計(jì)算機(jī)什么是葉結(jié)點(diǎn),什么是空節(jié)點(diǎn),否側(cè)無(wú)法分辨左右節(jié)點(diǎn)。例如先序遍歷的順序?yàn)?abcde',擴(kuò)展的二叉樹(shù)前序序列為:“abc##d##e##”,#代表此處節(jié)點(diǎn)為None,如下圖:

如何在Python中創(chuàng)建二叉樹(shù)

既然是使用遞歸的方法構(gòu)建二叉樹(shù),主要需要理解遞歸的過(guò)程,這種思路將在之后的很多地方用的到。要知道如何遞歸的構(gòu)建二叉樹(shù),我們不能糾結(jié)于遞歸每一層到底干了什么,這樣就會(huì)一直糾結(jié)下去(所有的遞歸問(wèn)題都一樣)。我們需要注意的是:

在我們的任務(wù)中,終止條件是什么? 在我們的任務(wù)中,本次遞歸要干嘛? 在我們的任務(wù)中,本次遞歸要返回給上一次遞歸的是啥?

在遞歸構(gòu)建二叉樹(shù)的任務(wù)中,我們要做到不糾結(jié)于每一層,而是只關(guān)注該層在做什么,這樣,對(duì)于下圖左側(cè)的樹(shù),我們就可以看作為右側(cè)的樹(shù),它只有自己a (a),左子樹(shù)B (bcd)和右子樹(shù)C (e)。

如何在Python中創(chuàng)建二叉樹(shù)

這樣我們需要注意的那三個(gè)問(wèn)題的回答自然就有了(做遞歸問(wèn)題,心中要想著怎么回答這三個(gè)問(wèn)題):

在我們的任務(wù)中,終止條件是什么?

[給我們的字符用完,也就不需要再創(chuàng)建節(jié)點(diǎn)了]

在我們的任務(wù)中,本次遞歸要干嘛?

[本次遞歸要?jiǎng)?chuàng)建三個(gè)節(jié)點(diǎn),一個(gè)根節(jié)點(diǎn),一個(gè)左節(jié)點(diǎn),一個(gè)右節(jié)點(diǎn)]

在我們的任務(wù)中,本次遞歸要返回給上一次遞歸的是啥?

[當(dāng)然是返回一個(gè)本層構(gòu)造好的樹(shù)的根節(jié)點(diǎn)]理解了上述三個(gè)問(wèn)題的回答,遞歸的代碼自然可以寫(xiě)出:

def Creat_Tree(Root,val): if len(vals)==0:#終止條件:val用完了 return Root if vals[0]!=’#’:#本層需要干的就是構(gòu)建Root、Root.lchild、Root.rchild三個(gè)節(jié)點(diǎn)。 Root = TreeNode(vals[0]) vals.pop(0) Root.lchild = Creat_Tree(Root.lchild,val) Root.rchild = Creat_Tree(Root.rchild,val) return Root#本次遞歸要返回給上一次的本層構(gòu)造好的樹(shù)的根節(jié)點(diǎn) else: Root=None vals.pop(0) return Root#本次遞歸要返回給上一次的本層構(gòu)造好的樹(shù)的根節(jié)點(diǎn)

看懂了上述內(nèi)容,構(gòu)建一棵我們想象的二叉樹(shù)就很簡(jiǎn)單了,只要輸入一個(gè)我們心目中前序遍歷擴(kuò)展的二叉樹(shù)序列即可:

if __name__ == ’__main__’: Root = None strs='abc##d##e##'#前序遍歷擴(kuò)展的二叉樹(shù)序列 vals = list(strs) Roots=Creat_Tree(Root,vals)#Roots就是我們要的二叉樹(shù)的根節(jié)點(diǎn)。

以上就是如何在Python中創(chuàng)建二叉樹(shù)的詳細(xì)內(nèi)容,更多關(guān)于Python創(chuàng)建二叉樹(shù)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91大神在线观看线路一区| 激情久久婷婷| 涩涩涩久久久成人精品| 日韩1区2区3区| 国产精品欧美在线观看| av日韩中文| 欧美日韩高清| 中文精品电影| 国产精品久久乐| 99精品综合| 男人操女人的视频在线观看欧美| 少妇精品久久久| 久久精品一区二区三区中文字幕| av最新在线| 亚洲精品一二三区区别| 日欧美一区二区| 精品99在线| 国产色综合网| 国产欧美自拍| 神马日本精品| 日韩在线麻豆| 国产精品yjizz视频网| 国产美女精品| 久久99蜜桃| 久久久久久久久丰满| 亚洲无线观看| 精品国产精品久久一区免费式| 成人片免费看| 亚洲精品福利| 中文字幕在线官网| 日韩中文字幕1| 国产一区二区三区日韩精品| 中文国产一区| 精品视频97| 日韩精品一级二级| 国产美女高潮在线| 91麻豆精品激情在线观看最新 | 国产亚洲综合精品| 国产精东传媒成人av电影| 亚洲高清毛片| 国产精品天堂蜜av在线播放| 久久精品主播| 国产伦精品一区二区三区在线播放| 久久亚洲国产| 麻豆91精品视频| 日韩精品一级二级| 少妇久久久久| 国产极品一区| 亚洲午夜免费| 欧美天堂视频| 国产美女久久| 丝袜亚洲另类欧美| 亚洲91视频| 麻豆久久一区| 亚洲精品日韩久久| 国产二区精品| 亚洲一区资源| 久久av资源| 日本一区二区三区中文字幕| 国产在线不卡| 中文字幕人成乱码在线观看| 国产日韩欧美一区二区三区 | 另类综合日韩欧美亚洲| 日韩中文字幕无砖| 羞羞答答国产精品www一本| 亚洲伊人av| 麻豆精品视频在线观看| 一区二区精品| 国产亚洲精品自拍| 99精品视频精品精品视频| 国产999精品在线观看| 69堂精品视频在线播放| 日韩中文字幕91| 亚洲黄色在线| 久久美女精品| 日韩精品2区| 国产成人精品一区二区三区免费| 国产日韩亚洲欧美精品| 日韩va欧美va亚洲va久久| 亚洲欧美视频| 国产亚洲网站| 午夜在线观看免费一区| 日韩午夜av| 午夜国产欧美理论在线播放 | 午夜在线视频观看日韩17c| 欧美特黄一区| 九一精品国产| 蜜桃视频欧美| 激情婷婷综合| 欧美日韩国产高清电影| 亚洲性色视频| 欧美日韩日本国产亚洲在线| 免费av一区| 在线综合视频| 丝袜亚洲精品中文字幕一区| 日韩精品一卡二卡三卡四卡无卡| 久久xxxx| 亚洲精品极品| 日韩有吗在线观看| 欧美一区久久| 国产精品久久免费视频| 精品一区二区三区的国产在线观看| 久久xxx视频| 国产高潮在线| 激情欧美一区| 免费日韩精品中文字幕视频在线| 丝袜美腿亚洲一区| 日韩精品一级| 国产欧美日韩影院| 久久三级中文| 亚洲永久av| 黑丝美女一区二区| 三级欧美在线一区| 欧美偷窥清纯综合图区| 久久a爱视频| 国产在线观看www| 久久中文字幕av| 亚洲在线免费| 久久国产乱子精品免费女| 麻豆精品在线观看| av资源中文在线| 欧美女激情福利| 日本欧美在线| 精品国产91| 好看的av在线不卡观看| 蜜桃视频一区二区| 免费亚洲婷婷| 91精品啪在线观看国产18| 另类av一区二区| 日韩高清不卡一区二区| 国产一区二区三区久久| 亚洲精品电影| 国产女人18毛片水真多18精品| 欧美丰满日韩| 亚洲免费一区二区| 欧美激情精品| 99成人在线视频| 视频精品一区| 久久精品国产999大香线蕉| 国产不卡人人| 亚洲视频二区| 精品欧美视频| 亚洲少妇诱惑| 国产激情久久| 91久久国产| 国产精品久久久久毛片大屁完整版 | 麻豆中文一区二区| 日本一区二区免费高清| 亚洲一区二区成人| 久久av免费| 欧洲在线一区| 一区二区电影| 国产传媒在线| 99精品美女| 蜜桃视频在线观看一区| 久久99久久久精品欧美| 五月天久久网站| 久久狠狠亚洲综合| 蜜桃tv一区二区三区| 国产亚洲欧美日韩精品一区二区三区| 天堂av在线| 日本视频一区二区| 日韩精品欧美激情一区二区| 亚洲久久视频| 日韩成人高清| 久久国产免费看| 国产色综合网| 国产传媒在线| 97精品久久| 亚洲欧洲另类| 福利一区在线| 日韩精品第一| 狠狠干成人综合网| 精品一区二区三区视频在线播放| 性欧美长视频| 韩国三级一区| 国产免费播放一区二区| 久久福利毛片| 日韩精品永久网址| 国产免费av国片精品草莓男男| 国产精品视区| 精精国产xxxx视频在线野外| 久久精品超碰| 久久国产高清| 亚洲二区视频| 日本不卡免费高清视频在线| 国产精选久久| 亚洲精品伊人| 免费在线看一区| 亚洲一级高清| 日韩电影免费在线观看| 欧美国产免费| 国产日韩欧美在线播放不卡| 亚洲精品在线国产| 国产在线日韩| 91中文字幕精品永久在线| 91精品丝袜国产高跟在线| 免费看的黄色欧美网站| 香蕉国产精品| 欧美va亚洲va日韩∨a综合色|