資料結構之判斷一棵樹是不是滿二叉樹

2021-09-29 02:27:07 字數 637 閱讀 5256

除最後一層無任何子節點外,每一層上的所有結點都有兩個子結點的二叉樹。乙個二叉樹,如果每乙個層的結點數都達到最大值,則這個二叉樹就是滿二叉樹。也就是說,如果乙個二叉樹的層數為k,且結點總數是(2^k) -1 ,則它就是滿二叉樹。

我們知道滿二叉樹是三角形的比如如下,最後一層任何乙個節點的高度都是數的高度。

1

2 3

4 5 6 7

但是如下二叉樹就不是滿二叉樹

1

2 3

4 5

我們知道滿二叉樹節點總數是 (2^k) -1個,那麼我們只需要求出高度就知道所有數的所有節點總數,然後我們再通過按層列印看下所有節點總數是不是滿足滿二叉樹節點總數是 (2^k) -1的特點。

#include #include using namespace std;

typedef struct tree

{ int value;

struct tree* left;

struct tree* right

如何判斷一棵樹是不是另一棵樹的子樹

package suanfatest class treenode treenode int value treenode int value,treenode leftchild,treenode rightchild public int getvalue public void setvalu...

資料結構之判斷一棵樹是不是完全二叉樹

完全二叉樹是由 滿二叉樹 而引出來的。對於深度為k的,有n個結點的二叉樹,當且僅當其每乙個結點都與深度為k的滿二叉樹中編號從1至n的結點一一對應時稱之為完全二叉樹。如下就是完全二叉樹 1 2 3 4 5 6 7如下就是完全二叉樹 1 2 3 4 5如下不是完全二叉樹 1 2 3 4 5 7判斷一顆二...

判斷一棵樹是不是二叉搜尋樹

一 遞迴判斷 遞迴判斷時,在結點值為整型時,必須指定初始最小值為int min,最大值為int max,每次遞迴時,傳入上一層的結點值最為判斷依據。bool judgebst recur treenode node,int min,int max 二 非遞迴判斷 bst的中序遍歷,一定是乙個非遞減序...