題組內容
四、資料結構觀念(20 分)
在系統架構設計的過程中,除了演算法,選用適合的資料結構也是重點之一。例如,某資
訊系統需要一個 Priority Queue:每次要移除(Pop、Deletion)一筆資料時,一定是選取
Queue 中權值最大的那一筆資料;但新增(Push、Insertion)時,該筆資料的權值則可能
是任意大小(亦即不按權值大小順序做新增)。
(1) 如果實作此 Priority Queue 的資料結構有兩種選擇:Unordered Array 與 Sorted Array。亦即都是以陣列 Array(或稱串列 List)儲存資料,但後者會按資料的權值 大小排序;而前者 Unordered Array 裡的資料則完全不排序,僅依照資料 Push 的 順序新增到陣列的後面。假設,根據使用情境的觀察與分析,這個資訊系統很常 做 Push、但很少 Pop。若從整體效能來考量,你會採用前述哪種資料結構?請仔細分析/說明你的觀點。(10 分)