完全二叉樹子節點個數

2021-09-25 10:46:14 字數 525 閱讀 3642

題目:乙個具有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層所有的結點都連續集中在最左邊,這就是完全二叉樹...