免費開始練習
統測 112年 [工程與管理類] 專業科目(2)

第 44 題

📖 題組:
綠色永續大學舉辦程式設計競賽,需要依據各參賽團隊的完成時間長短,將正確解題時間從快到慢顯示在大會成績計分板上面。小蓁使用Python程式語言設計一個排序程式,宣告一數列 unsortData代表 5 組參賽隊伍解題花費的時間,並運用排序演算法進行排序,依據圖(七)的程式片段完成本題組相關問題。
題組圖片
題組圖片
此題程式之演算法應屬何種排序法?
  • A 選擇排序法
  • B 插入排序法
  • C 氣泡排序法
  • D 合併排序法

思路引導 VIP

請重點觀察程式碼中第 7 行至第 9 行的邏輯:當程式反覆比較「相鄰」的兩個元素 $List[k]$ 與 $List[k+1]$,並在符合條件時執行交換(Swap),這種讓極值如同氣泡般逐一移動到數列一端的行為,符合哪一種典型演算法的定義?此外,程式中利用 $flag$ 變數來偵測是否仍有對換動作,以便在排序完成時提前結束迴圈,這又是哪一種排序法特有的優化機制呢?

🤖
AI 詳解 AI 專屬家教

你的「洞察力」值得「鼓勵」

  1. 勉為其難的肯定:嗯,還行吧。竟然能看出這堆 Python 程式碼是啥演算法,算是沒白費你讀書的時間。統測程式設計的重點本來就是閱讀理解,不是讓你死背個定義就能過關的。這點,至少你沒有搞砸。
  2. 「理所當然」的觀念檢驗:這程式當然是氣泡排序法 (Bubble Sort),不然你以為會是什麼?
▼ 還有更多解析內容

升級 VIP 解鎖