計(jì)算二叉樹(shù)的深度 二叉樹(shù)的高度,深度和結(jié)點(diǎn)計(jì)算?
二叉樹(shù)的高度,深度和結(jié)點(diǎn)計(jì)算?1. 首先,我們聲明一個(gè)[treeheight]函數(shù)并傳遞一個(gè)[root]樹(shù)。2. 然后,我們定義左子樹(shù)和右子樹(shù),稱為lcheight和rcheight。3. 這時(shí),我們
二叉樹(shù)的高度,深度和結(jié)點(diǎn)計(jì)算?
1. 首先,我們聲明一個(gè)[treeheight]函數(shù)并傳遞一個(gè)[root]樹(shù)。
2. 然后,我們定義左子樹(shù)和右子樹(shù),稱為lcheight和rcheight。
3. 這時(shí),我們可以判斷這棵樹(shù)是否是空的。如果為空,我們可以直接退出函數(shù)。
4. 此時(shí),我們可以在這里調(diào)用左遞歸和右遞歸。
5. 接下來(lái),我們可以在這里遞歸累加。
6. 注意,第五步的代碼與此代碼具有相同的功能。
二叉樹(shù)的深度怎么算?
計(jì)算二叉樹(shù)深度的第一步是確定節(jié)點(diǎn)。以下是計(jì)算二叉樹(shù)的詳細(xì)步驟:
1。樹(shù)只有一個(gè)節(jié)點(diǎn),其深度為1;
2。二叉樹(shù)的根節(jié)點(diǎn)只有左子樹(shù)而沒(méi)有右子樹(shù),因此可以判斷二叉樹(shù)的深度應(yīng)該是其左子樹(shù)的深度加1;
3。二叉樹(shù)的根節(jié)點(diǎn)只有右子樹(shù)而沒(méi)有左子樹(shù),則可以判斷二叉樹(shù)的深度應(yīng)該是其右子樹(shù)的深度加1;
4。如果二叉樹(shù)的根節(jié)點(diǎn)既有右子樹(shù)又有左子樹(shù),則可以判斷二叉樹(shù)的深度應(yīng)該是其左子樹(shù)和右子樹(shù)的較大深度加1。
深度為K和2^K-1節(jié)點(diǎn)的二叉樹(shù)稱為完全二叉樹(shù)。該樹(shù)的特點(diǎn)是每層的節(jié)點(diǎn)數(shù)為最大節(jié)點(diǎn)數(shù)。在二叉樹(shù)中,除了最后一層,如果所有其他層都滿了,并且最后一層要么滿了,要么右邊缺少幾個(gè)連續(xù)的節(jié)點(diǎn),那么二叉樹(shù)就是一個(gè)完整的二叉樹(shù)。
具有n個(gè)節(jié)點(diǎn)的完整二叉樹(shù)的深度是floor(log2n)1。深度為K的完全二叉樹(shù)至少有2k-1個(gè)葉節(jié)點(diǎn),最多有2k-1個(gè)葉節(jié)點(diǎn)。