三、請寫出對以下 8 個數字[44, 62, 31, 5, 82, 49, 16, 7],依序建構最小堆積樹 (Min Heap Tree)的過程。為方便最小堆積樹的建構,我們通常會使用一 個一維陣列來儲存堆積樹中的數字。請說明如何用一維陣列來處理最小堆 積樹的建構。最小堆積樹建構完成後,請寫出如何用此樹依序將數字由小 到大的排序過程。請說明此種排序法的計算複雜度 Big O 為何?(25 分)

内容查看
一、其建立過程如下(其中<->代表前項與後項之比較,需搭配上一個步驟較容易理解)-

63e44e59050f8.jpg
63e44e72322d1.jpg

二、使用一維陣列儲存最小堆積樹方式說明如下-

(一)、從首節點(root)開始,先存入陣列的第一個元素。
(二)、接著由上而下、由左而右的方式,依序將該樹的值存入陣列中。
(三)、最後會產生一個一維陣列如下(以本題為例)-
Index
0
1
2
3
4
5
6
7
Value
5
7
16
44
82
49
31
62
三、最小堆積樹的輸出過程如下(每次僅輸出Root)-

63e44edc8b251.jpg

四、本題數列有8個節點,依照上題之排序方式需要做8次,其時間複雜度的時間與節點數量相關,因此為O(n)。

点点赞赏,手留余香 给TA打赏

AI创作

0

評論0

支持多种货币
支持多种货币付款,满足您的付款需求
7天无忧退换
安心无忧购物,售后有保障
专业客服服务
百名资深客服7*24h在线服务
发货超时赔付
交易成功极速发货,专业水准保证时效性
顯示驗證碼

社交帳號快速登錄