Re: [理工] [資結] Complete Tree

看板Grad-ProbAsk作者 (DOG)時間15年前 (2010/11/09 01:17), 編輯推噓5(509)
留言14則, 5人參與, 7年前最新討論串2/2 (看更多)
※ 引述《koehie (開喜烏龍茶)》之銘言: : 請問下列三題該如何解答 ? : 1. 一顆深度為 H 的 Complete Binary Tree 最少有幾個節點 ? : 2. 一顆深度為 H 的 Complete Binary Tree 最多有幾個節點 ? : 3. 假如一顆 Complete Binary Tree 總共有 n 個節點且 n 為奇數, 請問 : 此樹中 Leaf 節點有多少個 ? 照這題題意看起來 Complete Binary Tree應該是"除了leaf以外的節點都有左右子樹"這定義 (因為complete binary tree這個好像在不同書有不同定義的樣子) 如果是這個定義,那麼 1. 樹應該是長類似這樣(此圖是深度H=4): o / \ o o / \ o o / \ o o 如此可以知道 最少有2*H-1 = 2H-1個節點 2. 樹應該是全滿的 類似這樣(此圖是深度H=4): o / \ o o / \ / \ o o o o / \ / \ / \ / \ o o o o o o o o 可知道最多有2^H-1個節點 3. n為奇數這條件其實不是很重要 因為n好像一定會是奇數@@ 設此樹內節點有i個,leaf有f個 n = i + f 又 i = f - 1 => n = 2*f - 1 => f = (n+1)/2 ...所以答案是(n+1)/2個 至於為什麼i = f - 1 我們可以從最小的樹開始考慮 (三個點): o / \ o o 此時的 f=2 , i=1 ,所以 i = f-1沒錯 再來只要更大的樹 都可以從這個樹慢慢生成 (把一個leaf拿掉 換成一個內節點 但內節點一定要有左右子樹 所以又有兩個leaf) =>每將一個leaf拿掉改成內節點 就會再多出兩個leaf 也就是說leaf的數量 少了一 又多了二 => 每操作一次leaf數多一點 而每操作一次 內節點的數量也是多一點 簡單來說 內節點跟leaf的"差"不會變 也就是1 , 所以 i = f-1 統整一下這三題的答案: 1. 2H-1 2. 2^H -1 3. (n+1)/2 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.139.83

11/09 13:47, , 1F
你第一題好像不對吧...
11/09 13:47, 1F

11/09 13:48, , 2F
不過應該是tree定義不一樣
11/09 13:48, 2F

11/09 14:18, , 3F
A complete binary tree is a binary tree in which every
11/09 14:18, 3F

11/09 14:19, , 4F
level, except possibly the last, is completely filled,
11/09 14:19, 4F

11/09 14:19, , 5F
and all nodes are as far left as possible.[4]
11/09 14:19, 5F

11/09 14:19, , 6F
wiki上的定義
11/09 14:19, 6F

11/09 14:23, , 7F
版本差異在於是除最後一層外都要填滿只有最後一層先填左邊
11/09 14:23, 7F

11/09 14:24, , 8F
還是只要滿足是先填左邊,右邊都可以當作最後一層~~
11/09 14:24, 8F

11/09 14:25, , 9F
反正以聖經版的解釋為主吧~鑽研版本問題沒太大意義XD
11/09 14:25, 9F
真的欸@@; 我記成這個定義 A binary tree in which each node has exactly zero or two children. 這好像有些書上是叫作full binary tree ... 的樣子 主要好像就是complete跟full這兩種在各版本有一些出入 所以聖經版的解釋是哪一個..? 如果是照三樓的定義的話 這題的答案應該是 2^(H-1) ..嗎? (前幾層全填滿 最下最左留一個leaf) ※ 編輯: jameschou 來自: 140.113.139.83 (11/09 14:33)

11/09 15:25, , 10F
strictly BT?
11/09 15:25, 10F

11/10 00:05, , 11F
full BT ,complete BT的定義在離散和資結上似乎就有不同
11/10 00:05, 11F

08/09 10:52, , 12F
還是只要滿足是先填左邊 https://muxiv.com
08/09 10:52, 12F

09/11 14:02, , 13F
還是只要滿足是先填左邊 https://daxiv.com
09/11 14:02, 13F

12/15 00:27, 7年前 , 14F
and all nod https://noxiv.com
12/15 00:27, 14F
文章代碼(AID): #1Cs32zPP (Grad-ProbAsk)
討論串 (同標題文章)
文章代碼(AID): #1Cs32zPP (Grad-ProbAsk)