求二叉樹(shù)高度 二叉樹(shù)的深度和高度有什么區(qū)別?
二叉樹(shù)的深度和高度有什么區(qū)別?1、不同的概念,深度是從根節(jié)點(diǎn)數(shù)到葉節(jié)點(diǎn)數(shù),高度是從葉節(jié)點(diǎn)數(shù)到根節(jié)點(diǎn)數(shù)。二叉樹(shù)的深度是最深節(jié)點(diǎn)所在的層數(shù)。對(duì)于整棵樹(shù),最深葉節(jié)的深度就是樹(shù)的深度;根的高度就是樹(shù)的高度。樹(shù)
二叉樹(shù)的深度和高度有什么區(qū)別?
1、不同的概念,深度是從根節(jié)點(diǎn)數(shù)到葉節(jié)點(diǎn)數(shù),高度是從葉節(jié)點(diǎn)數(shù)到根節(jié)點(diǎn)數(shù)。二叉樹(shù)的深度是最深節(jié)點(diǎn)所在的層數(shù)。對(duì)于整棵樹(shù),最深葉節(jié)的深度就是樹(shù)的深度;根的高度就是樹(shù)的高度。樹(shù)的高度等于樹(shù)的深度。對(duì)于樹(shù)中具有相同深度的每個(gè)節(jié)點(diǎn),它們的高度不一定相同,這取決于每個(gè)節(jié)點(diǎn)下面的葉節(jié)點(diǎn)的深度。2、 高度和深度的不同定義是相反的,深度是從上到下計(jì)算的,高度是從下到上計(jì)算的。3、 二叉樹(shù)深度的算法如下:深度為m的全二叉樹(shù)有2^m-1個(gè)節(jié)點(diǎn);深度為log2n的全二叉樹(shù)有n個(gè)節(jié)點(diǎn),深度為log2n]1。(log2n是以2為底n的對(duì)數(shù))。2分析了二叉樹(shù)的深度(高度)與其左右子樹(shù)深度的關(guān)系。根據(jù)二叉樹(shù)深度的定義,二叉樹(shù)的深度應(yīng)該是其左右子樹(shù)的最大深度加1。因此,需要分別獲得左子樹(shù)和右子樹(shù)的深度。算法中“接入節(jié)點(diǎn)”的操作是獲取左右子樹(shù)的最大深度,然后加1。
二叉樹(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è)某棵二叉樹(shù)的高度為10,則該二叉樹(shù)上葉子結(jié)點(diǎn)最多有多少(請(qǐng)?jiān)敿?xì)解答)謝謝?
如果根節(jié)點(diǎn)的高度為1,那么在高度為10的二叉樹(shù)中,葉數(shù)最多的是全二叉樹(shù),葉數(shù)為2^(10-1)=2^9=512
二叉樹(shù)的深度和高度有什么區(qū)別?
差異:深度是從根節(jié)點(diǎn)數(shù)到葉節(jié)點(diǎn)數(shù),高度是從葉節(jié)點(diǎn)數(shù)到根節(jié)點(diǎn)數(shù)。
二叉樹(shù)的深度從根節(jié)點(diǎn)(其深度為1)從上到下累加,而二叉樹(shù)的高度從葉節(jié)點(diǎn)(其高度為1)從下到上累加。雖然樹(shù)的深度和高度相同,但樹(shù)的節(jié)點(diǎn)的深度和高度不同。