如何判斷滿二叉樹

2021-06-22 11:16:40 字數 412 閱讀 5362

任意的乙個二叉樹,都可以補成乙個滿二叉樹。這樣中間就會有很多空洞。在廣度優先遍歷的時候,如果是滿二叉樹,或者完全二叉樹,這些空洞是在廣度優先的遍歷的末尾,所以,但我們遍歷到空洞的時候,整個二叉樹就已經遍歷完成了。而如果,是非完全二叉樹,

我們遍歷到空洞的時候,就會發現,空洞後面還有沒有遍歷到的值。這樣,只要根據是否遍歷到空洞,整個樹的遍歷是否結束來判斷是否是完全的二叉樹。

演算法如下:

struct bitree ;

bool is_complete(bitree *root)

// 判斷是否還有未被訪問到的節點

while (!q.is_empty())

} return true;

}

二叉樹,完全二叉樹,滿二叉樹

二叉樹 是n n 0 個結點的有限集合,它或者是空樹 n 0 或者是由乙個根結點及兩顆互不相交的 分別稱為左子樹和右子樹的二叉樹所組成。滿二叉樹 一顆深度為k且有2 k 1個結點的二叉樹稱為滿二叉樹。說明 除葉子結點外的所有結點均有兩個子結點。所有葉子結點必須在同一層上。完全二叉樹 若設二叉樹的深度...

二叉樹 滿二叉樹和完全二叉樹

二叉樹是一種很重要的非線性資料結構,它是樹結構的一種重要的型別 它不是樹結構的特殊情況 其特徵是每個節點最多有兩個子樹。二叉樹的特點 二叉樹每個結點最多有 2個子結點,樹則無此限制 二叉樹中 結點的子樹 分成左子樹和右子樹,即使某結點只有一棵子樹,也要指明該子樹是左子樹,還是右子樹,就是說 二叉樹是...

二叉樹 滿二叉樹與完全二叉樹

二叉樹 binary tree 是n n 0 個元素的有限集合,該集合為空或者為由乙個稱為 根 的元素及兩個不相交的 被分別稱為左子樹和右子樹的二叉樹組成 二叉樹的基本特點 每個結點最多有兩棵子樹 左子樹和右子樹是有順序的,且不可顛倒 圖一1 結點 二叉樹中的每乙個元素都稱為結點。通常二叉樹的許多名...