如何判斷二叉樹是滿二叉樹怎麼判斷一棵二叉樹是否是完全二叉樹呢?

2021-03-06 10:00:07 字數 2559 閱讀 8376

1樓:百度使用者

完全二叉樹的定義:深度為k,有n個結點的二叉樹當且僅當其每乙個結點都與深度為k的滿二叉樹中編號從1至n的結點一一對應時,稱為完全二叉樹。

特點:葉子結點只可能在層次最大的兩層上出現;對任一結點,若其右分支下子孫的最大層次為l,則其左分支下子孫的最大層次必為l 或l+1

滿二叉樹:一棵深度為k,且有2的(k)次方-1個節點的二叉樹

特點:每一層上的結點數都是最大結點數

最簡單的就是: 求出二叉樹的深度。。。和節點的總個數。。。然後滿足公式就行了。。。

層次書和 節點總個數 滿足 1+2+4+8+ 2的層次次方= 節點總個數。。就行了唄。。

2樓:匿名使用者

全二叉樹(***plete binary tree): 若設二叉樹的高度為h,除第 h 層外,其它各層 (1~h-1) 的結點數都達到最大個數,第 h 層所有的節點都連續集中在最左邊,這就是完全二叉樹。

判斷很簡單,廣度優先搜尋整個二叉樹,一旦找乙個不含有子節點或者只含有乙個左子節點之後,那麼後續的所有節點都必須是葉子節點。否則,該樹就不是完全二叉樹。

3樓:匿名使用者

滿二叉樹的判斷方法:

除最後一層無任何子節點外,每一層上的所有結點都有兩個子結點(最後一層上的無子結點的結點為葉子結點)。也可以這樣理解,除葉子結點外的所有結點均有兩個子結點。節點數達到最大值。

所有葉子結點必須在同一層上。

結點(如果一顆樹深度為h,最大層數為k):

1、它的葉子數是: 2^(h-1);

2、第k層的結點數是: 2^(k-1);

3、總結點數是: 2^k-1 (2的k次方減一);

4、總節點數一定是奇數。

怎麼判斷一棵二叉樹是否是完全二叉樹呢?

4樓:匿名使用者

給你講講方法吧,實現就自己寫了。

完全二叉樹(***plete binary tree): 若設二叉樹的高度為h,除第 h 層外,其它各層 (1~h-1) 的結點數都達到最大個數,第 h 層所有的節點都連續集中在最左邊,這就是完全二叉樹。

判斷很簡單,廣度優先搜尋整個二叉樹,一旦找乙個不含有子節點或者只含有乙個左子節點之後,那麼後續的所有節點都必須是葉子節點。否則,該樹就不是完全二叉樹。

實現的時候要用到佇列。

5樓:匿名使用者

#include

using namespace std;

int a[100],count=0,k=0;

int max(int a,int b)

struct binode

;class bitree

~bitree()

void preorder()

void depth()

private :

binode *root;

binode * creat(binode *bt);

void release(binode *bt);

void preorder(binode *bt);

int depth(binode *bt);

};int bitree::depth(binode *bt)}void bitree::preorder (binode *bt)

}binode * bitree::creat (binode *bt)

return bt;

}void bitree::release (binode *bt)}int cf(int a)

return b-1;

}int main()

if(k==0) cout<<"no"<

else

return 0;}

完全二叉樹與滿二叉樹的區別?

6樓:匿名使用者

完全二叉樹:

滿二叉樹:

完全二叉樹,除最後一層可能不滿以外,其他各層都達到該層節點的最大數,最後一層如果不滿,該層所有節點都全部靠左排

滿二叉樹,所有層的節點數都達到最大

7樓:匿名使用者

滿二叉樹每一層都是滿的。完全二叉樹最後一層只有右邊某部分沒有

8樓:匿名使用者

完全二叉bai樹的定義

:深度du為k,有n個結點的二叉zhi樹當且僅當dao其每乙個結點都與深度為

內k的滿二叉樹中編號容從1至n的結點一一對應時,稱為完全二叉樹。

特點:葉子結點只可能在層次最大的兩層上出現;對任一結點,若其右分支下子孫的最大層次為l,則其左分支下子孫的最大層次必為l 或l+1

滿二叉樹:一棵深度為k,且有2的(k)次方-1個節點的二叉樹特點:每一層上的結點數都是最大結點數

滿二叉樹肯定是完全二叉樹

完全二叉樹不一定是滿二叉樹

9樓:尋她

完全二叉樹:完全二叉樹,除最後一層可能不滿以外,其他各層都達到該層節點的最大數,

最後一層如果不滿,該層所有節點都全部靠左排

滿二叉樹:滿二叉樹,所有層的節點數都達到最大

二叉樹是樹的特例嗎,二叉樹是樹的特例嗎

什麼叫二叉樹的度?帶你了解它的特點 不是。儘管樹和二叉樹的概念之間有許多的類似,但它們是兩個不同的資料結構。因為從定義來看 二叉樹既不是只有兩個子樹的樹,也不是最多只有兩個子樹的樹。樹和二叉樹最主要的區別是 二叉樹中結點的子樹要區分左子樹和右字樹,即使在結點只有一棵子樹的情況下也要明確指出該子樹是左...

二叉樹結點計算,二叉樹的葉子節點數如何計算?

1.深度為m的滿二叉樹有2 m 1個結點.因為滿二叉樹的定義為 一顆深度為k且有2 k 1個結點的二叉樹稱為滿二叉樹.2.若要樹深為最小,顯然要使除最後一層外的每一層都有盡可能多的結點,即要二叉樹為完全二叉樹.由二叉樹的乙個重要性質 具有n個結點的完全二叉樹的深度為 log2n 1.這是在根節點層次...

設一棵滿二叉樹共有節點,則在該滿二叉樹中的葉子節點數是多少?麻煩把解題過程告訴我謝謝

滿二叉樹共有15個節點,則在該滿二叉樹中的葉子節點數是8個。因為最底層上的結回點就是葉子結點 啊。答所以,如果滿二叉樹共有n個節點,則在該滿二叉樹中的葉子節點數是 n div 2 1 個。你從一層 二層 三層檢查後就能發現此規律的。二叉樹共有15個節點共有15 2 30個指標。除了根節點,有14個指...