所屬科目:公職◆資料結構
一、請就「記憶體空間使用」與「存取方式」兩個主題,詳細申論陣列(array)與鏈結串列(linked list)兩種不同的資料結構的作法。(25 分)
二、請詳述利用快速排序法(quick sort)來排序下列資料,經過第一回合(pass) 的處理後,輸出資料的結果為何?(25 分) 50,60,70,80,40,90,10,30,20 (請注意:需列出詳細的處理步驟)
(一)由 A 出發,做廣度優先搜尋(breadth-first search)走訪所有節點,請依序寫出走訪的節點內容。(10 分)
(二)由 A 出發,做深度優先搜尋(depth-first search)走訪所有節點,請依序寫出走訪的節點內容。(15 分)
四、(一)假設對堆疊(stack)依照順序將 A、B、C 三筆資料執行 PUSH 的動作。 當執行 PUSH 動作的過程中,如果堆疊中有資料,便可對堆疊執行 POP 動作,若共執行三次 PUSH 動作與三次 POP 動作;三次 PUSH 與三次 POP 動作之先後關聯性,只要合理均為可能,請寫出所有可能的輸出結果。(15 分)
(二)請詳述副程式呼叫(subroutine call)實作的過程是採用佇列(queue)或 是堆疊(stack)來做為使用的資料結構之理由。(10 分)