普考申論題
112年
[統計] 資料處理概要
第 一 題
📖 題組:
有一筆資料為12,10,7,23,13,6,15,17,46,3。
有一筆資料為12,10,7,23,13,6,15,17,46,3。
📝 此題為申論題,共 3 小題
小題 (一)
請依序建置最小堆積(Min heap)樹(由上而下Top Down建置)。(10分)
思路引導 VIP
看到最小堆積(Min Heap)的由上而下(Top Down)建置,應直覺想到「逐一插入(Insert)並向上調整(Sift-up / Up-heap)」的過程。每次將新元素放置於完全二元樹的最後一個節點,再不斷與其父節點比較,若小於父節點則交換,直到滿足父節點不大於子節點的堆積結構特性為止。
小題 (二)
請依序建置最大堆積(Max heap)樹(由上而下Top Down建置)。(10分)
思路引導 VIP
看到「由上而下(Top Down)建置最大堆積」應立即聯想到「逐一插入法(Insertion Method)」。解題關鍵為:將資料依序放入完全二元樹的最後一個位置(葉節點),再執行「向上調整(Up-Heap / sift-up)」,若子節點大於父節點則兩者交換,直到滿足父節點數值大於子節點的最大堆積特性為止。
小題 (三)
把上題所產生的最大堆積樹刪除最大元素,其更新完的結果為何?(15分)
思路引導 VIP
考生看到此題應先釐清「最大堆積樹(Max Heap)」的刪除機制:刪除必定發生在根節點(最大值),並須將樹的「最後一個節點」填補至根節點,隨後透過「向下調整(Sift-down)」將其與較大的子節點不斷交換,直到滿足堆積樹性質。答題時建議先還原上題建樹後的狀態,再逐步畫出交換過程,確保給分點不漏。