題組內容

四、資料結構觀念(20 分)
在系統架構設計的過程中,除了演算法,選用適合的資料結構也是重點之一。例如,某資
訊系統需要一個 Priority Queue:每次要移除(Pop、Deletion)一筆資料時,一定是選取
Queue 中權值最大的那一筆資料;但新增(Push、Insertion)時,該筆資料的權值則可能
是任意大小(亦即不按權值大小順序做新增)。

(2) 假設這個 Queue 是以 Unordered Array 實作,而你目前已取得這個陣列(命名為 A),請找出該陣列中所有資料的權值(整數型態)的中位數。 (10 分)
【註 1】「中位數」是指將資料從小到大排序後,如果數列有奇數個,最中間(順 位)的數即是中位數;而若數列有偶數個,則取中間位置兩個數的平均值當作中 位數。
【註 2】你可以採用流程圖、演算法、或是任一個你所熟知的程式語言來實作。 無論用哪一種方式,務必詳加解釋(若採用程式,請以註解說明) ,評分將會以演 算流程為主要依據,程式語法的小錯不會扣分。
【註 3】若為便利說明,可自行假設其他變數。且,你的方法需要盡量能處理可 能的例外狀況(Exception)。