求二叉樹(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ù)的深度和高度有什么區(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ù)的高度和深度就相等了。對(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。
深度為7的滿二叉樹(shù)有幾個(gè)葉子結(jié)點(diǎn)?
葉節(jié)點(diǎn)數(shù)為64。
根據(jù)定義,完整二叉樹(shù)的非葉節(jié)點(diǎn)有兩個(gè)子節(jié)點(diǎn)。這樣,在每層中葉節(jié)點(diǎn)的數(shù)量和層數(shù)之間就存在這樣的關(guān)系:葉的數(shù)量n=2^(D-1),其中D是樹(shù)的層數(shù)(即深度)。