完全二叉樹與滿二叉樹與霍夫曼樹

2021-07-02 02:46:48 字數 1020 閱讀 3679

去筆試了很多次,每次都有有關於二叉樹的題目,而且其中最多的是關於完全二叉樹,然而完全二叉樹在哥心中的形態一直很模糊,究其原因是我把完全二叉樹和滿二叉樹搞混了。其實滿二叉樹是完全二叉樹的特例,因為滿二叉樹已經滿了,而完全並不代表滿。所以形態你也應該想象出來了吧,滿指的是出了葉子節點外每個節點都有兩個孩子,而完全的含義則是最後一層沒有滿,並沒有滿。

下面貼定義:

滿二叉樹(full binary tree):

除最後一層無任何子

節點外,每一層上的所有結點都有兩個子結點(最後一層上的無子結點的結點為

葉子結點

)。也可以這樣理解,除葉子結點外的所有結點均有兩個子結點。節點數達到最大值。所有葉子結點必須在同一層上.

一顆樹深度為h,最大層數為k,深度與最大層數相同,k=h;

它的葉子數是: 2^h

第k層的結點數是: 2^(k-1)

總結點數是: 2^k-1 (2的k次方減一)

總節點數一定是奇數。

完全二叉樹(complete binary tree)

若設二叉樹的深度為h,除第 h 層外,其它各層 (1~h-1) 的結點數都達到最大個數,第 h 層所有的結點都連續集中在最左邊,這就是完全二叉樹。

完全二叉樹是由

滿二叉樹

而引出來的。對於深度為k的,有n個結點的二叉樹,當且僅當其每乙個結點都與深度為k的滿二叉樹中編號從1至n的結點一一對應時稱之為完全二叉樹。

若一棵二叉樹至多只有最下面的兩層上的結點的度數可以小於2,並且最下層上的結點都集中在該層最左邊的若干位置上,則此二叉樹成為完全二叉樹。

霍夫曼樹:每個節點要嗎沒有子節點,要麼有兩個子節點

看下面的題目:

一棵完全二叉樹有770個節點,那麼它的葉子節點便是

259個

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

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

與滿二叉樹完全二叉樹

去寫很多,每個已對二進位制樹的主題,其中大部分都在完全二叉樹,在哥斯大黎加的心臟完全然而二叉樹一直很模糊的形式,原因是,我完全糊塗了二進位制和滿二叉樹。實際上滿二叉樹是二叉樹的一種特殊情況完全,由於滿二叉樹滿。雖然完全不能代表全。所以,你應該想象塑造出它,外每乙個節點都有兩個孩子。而全然的含義則是最...

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

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