申論 1㈠若有200 人,其中一個人開始打電話給兩個人。隨後,每個接到電話的人都會打電話給另外兩個尚沒有接到電話的人。請問總共會撥打多少通電話?有多少人不會打電話?(無推導過程不給分)(10 分)㈡若一個二元樹其前序追蹤順序(Preorder Traversal)及後序追蹤順序(Postorder Traversal)分別如下,請問此樹是否唯一?並請列出此二元樹的中序追蹤順序(Inorder Traversal)。(無推導過程不給分)(15 分)
本卷皆為申論題,點「看答案與解析」查看擬答。
弱點分析
未作答的題目不計分。看我的紀錄
申論 2㈠快速排序法(Quick Sort)最壞的情況下所需的時間複雜度(TimeComplexity)為O(n2),請說明是在何種情況下造成?(10 分)㈡請列出其最壞的時間複雜度為O(n2)的推導過程。(15 分)
申論 3請使用虛擬碼(Pseudo Code)或任何程式語言,完成下列問題:㈠撰寫二元搜尋(Binary Search)的遞迴及非遞迴程式。(20 分)㈡推導二元搜尋的時間複雜度(Time Complexity)。(5 分)
申論 4堆疊(Stack)與佇列(Queue)是常見的資料結構,請回答下列問題:㈠利用雙向佇列(Deque)循序輸入1, 2, 3, 4, 5, 6, 7,請問能否得到5174236 的輸出排列?並說明其過程或理由。(10 分)㈡若有1, 2, 3, 4 四個數字要依序Push 進堆疊,再於任意時間點Pop 出堆疊,請列出可能的輸出組合。(15 分)