對(duì)于二叉樹(shù)的大的深度,可以采用遞歸算法。
算法描述如下:
如果根結(jié)點(diǎn)為null,那么深度=0
如果根結(jié)點(diǎn)不是null,那么就看該當(dāng)前結(jié)點(diǎn)的左孩子的深度和右孩子的深度
如果左孩子深度>=右孩子的深度,那么當(dāng)前根結(jié)點(diǎn)的深度就是左孩子的深度+1.
反之則為右孩子的深度+1
對(duì)每個(gè)左孩子右孩子也是采用同樣的算法。到某一節(jié)點(diǎn)是null的時(shí)候,才能返回0;
之前的文章有關(guān)于二叉樹(shù)遍歷的算法的描述。此處,對(duì)于遍歷可以做一些小的改進(jìn),使它可以在遍歷的時(shí)候計(jì)算出當(dāng)前節(jié)點(diǎn)的深度。只要在遞歸方法中加入一個(gè)深度參數(shù),每次調(diào)用的遞歸方法的時(shí)候,該參數(shù)都會(huì)自增1.則可以計(jì)算出深度。
假設(shè)構(gòu)造出2棵樹(shù)
字母樹(shù)
數(shù)字樹(shù)
采用算法計(jì)算深度,和遍歷。
結(jié)果如下:
具體代碼如下:
- using
- using
- using
- using
- namespace
- #region 節(jié)點(diǎn)的定義
- class
- publicstring
- public
- public
- publicstring
- publicvoid//設(shè)定左右孩子
- this
- this
- publicbool//是否有左孩子
- get
- returnnull
- publicbool//是否有右孩子
- get
- returnnull
- publicbool//是否有右孩子
- get
- return
- #endregion
- class
- staticvoidstring
- new"a"
- new"b"
- new"c"
- new"d"
- new"e"
- new"f"
- new"g"
- new"h"
- new"i"
- //構(gòu)造一棵二叉樹(shù)
- "maxDepth:"
- new"1"
- new"2"
- new"3"
- new"4"
- new"5"
- new"6"
- new"7"
- new"8"
- new"9"
- new"10"
- new"11"
- new"12"
- new"13"
- //構(gòu)造一棵二叉樹(shù)
- null
- null
- null
- null
- null
- null
- "maxDepth:"
- //計(jì)算深度
- staticint
- ifnull
- return
- else
- int//遞歸計(jì)算左孩子的深度
- int//遞歸計(jì)算右孩子的深度
- if
- return
- else
- return
- //先序遍歷 //DLR
- staticvoidint
- "-depth:"
- if
- if
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
分享標(biāo)題:求二叉樹(shù)的深度-創(chuàng)新互聯(lián)
文章URL:http://jinyejixie.com/article4/dhdiie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷(xiāo)、Google、定制網(wǎng)站、外貿(mào)建站、小程序開(kāi)發(fā)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容