判斷一棵樹是否是完全二叉樹

2021-10-08 07:31:13 字數 468 閱讀 6065

一邊對二叉樹進行bfs將每乙個節點都加入到佇列,一邊執行下面的判斷

當前節點有右孩子,但沒有左孩子,直接返回false

當前節點有左孩子沒右孩子 或者 當前結點左孩子右孩子都沒有,那麼接下來遇到的所有節點必須是葉子節點

public

static

boolean

check

(node head)

if(l != null)

q.add(l);if

(r != null)

q.add(r)

;//else表示右孩子不為空,也就是說,當前節點有左孩子沒右孩子 或者

//當前結點左孩子右孩子都沒有,那麼接下來遇到的所有節點必須是葉子節點

else

leaf =

true;}

return

true

;}

判斷一棵樹是否是完全二叉樹

1 基礎知識 二叉樹 二叉樹是一棵特殊的樹,二叉樹每個節點最多有兩個孩子結點,分別稱為左孩子和右孩子。滿二叉樹 高度為n的滿二叉樹有2 n 1個節點的二叉樹。完全二叉樹 若設二叉樹的深度為h,除第h 層外,其它各層 1 h 1 的結點數都達到最大個數,第h 層所有的結點都連續集中在最左邊,這就是完全...

二叉樹 判斷一棵樹是否是完全二叉樹

原創 2017年07月27日 19 16 05 如何判斷乙個樹是否為完全二叉樹?思路一 將所有的結點全部押入佇列中,空也壓入,每次判斷佇列的頭如果佇列頭為空了則跳出迴圈,如果此後佇列中還有元素則不是完全二叉樹。bool iscompletetree binarytreenode proot q.po...

判斷一棵樹是否是平衡二叉樹

題目 程式設計題 平衡二叉樹 時間限制 1000 ms,記憶體限制 256000 kb,長度限制 8000 b 判斷乙個二叉樹是不是平衡 說明 一棵二叉樹任意乙個節點的左右子樹的深度差不大於1,即為平衡二叉樹。給定乙個有n個節點的二叉樹,每個節點有乙個序號表示,樹有m條分支。每個分支用三個數字a b...