二叉樹 求一棵完全二叉樹節點的個數

2022-08-10 08:21:08 字數 587 閱讀 2946

已知一棵完全二叉樹, 求其節點的個數

要求: 時間複雜度低於o(n), n為這棵樹的節點個數

結論:滿二叉樹:高度為l,結點個數  2^l  - 1個

先遍歷左邊界,求出完全二叉樹的高度h

然後遍歷樹的右子樹的左邊界,看它到沒到最後一層,

如果到了最後一層,那麼證明它的左子樹是滿的,高度是h-1        左子樹的結點數2^(h-1) - 1+當前節點+遞迴求解 右子樹的結點的個數

如果沒到最後一層,那麼證明它的右子樹是滿的,高度是h-2        右子樹的結點數2^(h-2) - 1+當前節點+遞迴求解 左子樹的結點的個數

public class completetreenodenumber 

public static int comnum(tree tree, int level, int high) else

}public static int treehigh(tree tree)

return high;

}}

一棵完全二叉樹的節點總數

題意 已知一棵完全二叉樹,求其節點的個數 要求 時間複雜度低於o n n為這棵樹的節點個數。公式節點個數 2 n 1 如果是乙個完全二叉樹最左邊一定有節點求出二叉樹的高度h public static int mostleftlevel node node,int level return leve...

如何判斷一棵二叉樹是完全二叉樹

嚴蔚敏那本教材上的說法 乙個深度為k,節點個數為 2 k 1 的二叉樹為滿二叉樹。這個概念很好理解,就是一棵樹,深度為k,並且沒有空位。首先對滿二叉樹按照廣度優先遍歷 從左到右 的順序進行編號。一顆深度為k二叉樹,有n個節點,然後,也對這棵樹進行編號,如果所有的編號都和滿二叉樹對應,那麼這棵樹是完全...

如何判斷一棵二叉樹是完全二叉樹

嚴蔚敏那本教材上的說法 乙個深度為k,節點個數為 2 k 1 的二叉樹為滿二叉樹。這個概念很好理解,就是一棵樹,深度為k,並且沒有空位。首先對滿二叉樹按照廣度優先遍歷 從左到右 的順序進行編號。一顆深度為k二叉樹,有n個節點,然後,也對這棵樹進行編號,如果所有的編號都和滿二叉樹對應,那麼這棵樹是完全...