去筆試了很多次,每次都有有關於二叉樹的題目,而且其中最多的是關於完全二叉樹,然而完全二叉樹在哥心中的形態一直很模糊,究其原因是我把完全二叉樹和滿二叉樹搞混了。其實滿二叉樹是完全二叉樹的特例,因為滿二叉樹已經滿了,而完全並不代表滿。所以形態你也應該想象出來了吧,滿指的是出了葉子節點外每個節點都有兩個孩子,而完全的含義則是最後一層沒有滿,並沒有滿。
下面貼定義:
滿二叉樹(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個結點的二叉樹稱為滿二叉樹。說明 除葉子結點外的所有結點均有兩個子結點。所有葉子結點必須在同一層上。完全二叉樹 若設二叉樹的深度...