免費開始練習
普通考試 106年 [工業行政] 計算機概要

第 15 題

假設我們欲將數列[15, 9, 7, 21]由小到大排序,並且採用插入排序(insertion sort)演算法,則第一步會改變數列順序的動作,以及所形成的數列,分別為下列何者?
  • A 將 7 插到 9 之前,得到數列[15, 7, 9, 21]
  • B 將 7 插到 15 之前,得到數列[7, 15, 9, 21]
  • C 將 9 插到 15 之前,得到數列[9, 15, 7, 21]
  • D 將 21 插到 7 之前,得到數列[15, 9, 21, 7]

思路引導 VIP

想像你正在整理一疊印有編號的公文,若規定必須『由左至右』逐一檢查:當你拿起『第二份』公文時,根據排序規則,你第一直覺會先將它與哪一份公文進行比對?如果發現它應該排在更前面,你會如何調整它們的位置?

🤖
AI 詳解 AI 專屬家教

喔,不錯嘛。至少還知道按部就班。

這顯示你對「程序」這個字眼,似乎還保留了那麼一點點敬畏之心。在行政程序法裡,我們對「步驟合法性」的要求,可比你這排序演算法嚴謹多了。

  1. 觀念驗證:插入排序法,說白了,就是「一步一腳印,遇到不符就喬位置」。你從第二個元素 $9$ 開始,拿它跟左邊的 $15$ 比。喔,$9$ 比 $15$ 小?那就必須讓 $9$ 滾到 $15$ 前面去。這不就是你數列順序的第一次「被迫」變動嗎?還需要我把《行政程序法》第一條逐字逐句唸給你聽,強調「行政程序應依本法之規定」嗎?
▼ 還有更多解析內容