題目:乙個具有n個節點的完全二叉樹,其葉子節點的個數為多少?
分析:
設葉子節點個數為n0,度為1的節點個數為n1,度為2的節點個數為n2
側有 n0+n1+n2=n (1)
對於二叉樹有:
n0=n2+1 (2)
由(1)(2) ==>
n0=(n+1-n1)/2 (3)
由完全二叉樹的性質可知:n1=0 或 1
總結:
(a):當n1=0時(即度為1的節點為0個時,此時n為奇數)或者n為奇數時
n0= (n+1)/2;
(b):當n1=1時(即度為1的節點為1個時,此時n為偶數)或者n為偶數
n0= n/2;
綜合(a)(b)可得:
(結論):乙個具有n個節點的完全二叉樹,其葉子節點的個數n0為: n/2 向上取整,或者(n+1)/2 向下取整
原文: 完全二叉樹的節點個數
給出乙個完全二叉樹,求出該樹的節點個數。說明 完全二叉樹的定義如下 在完全二叉樹中,除了最底層節點可能沒填滿外,其餘每層節點數都達到最大值,並且最下面一層的節點都集中在該層最左邊的若干位置。若最底層為第 h 層,則該層包含 1 2h 個節點。示例 輸入 1 2 3 4 5 6 輸出 6 defini...
完全二叉樹的節點個數
222.完全二叉樹的節點個數 演算法 如果左子樹高度和右子樹高度相等,說明左子樹是滿二叉樹,節點個數為 如果左子樹高度和右子樹高度不相等,說明右子樹是滿二叉樹,節點個數為 如下 definition for a binary tree node.public class treenode class...
完全二叉樹節點個數
關於作者 最簡單的解法就是遍歷這棵樹,時間複雜度是o n 如果只是這一種解法,就不會有本文了。本文中給出兩種解法。第一次看到完全二叉樹的定義比較懵,搜尋到的定義如下 設二叉樹的深度為h,除第 h 層外,其它各層 1 h 1 的結點數都達到最大個數,第h層所有的結點都連續集中在最左邊,這就是完全二叉樹...