免費開始練習
普通考試 111年 [電子工程] 計算機概要

第 20 題

假設以泡沫排序法(Bubble sort),將給定的 n 個整數由小排到大,則該演算法執行數字比較的時間複雜度為下列何者?(注意:一次「數字比較」會比較兩個數字,譬如:比較 5 和 3 何者較大。)
  • A O(1)
  • B O(n)
  • C O(nlogn)
  • D $O(n^2)$

思路引導 VIP

「想像有一排長度不一的鋼樑需要由短到長排列,你每次只能比較『手邊相鄰』的兩根。為了確保最長的那根能移到隊伍最後面,你需要對整排鋼樑走過一遍;接著,為了安置次長的,你又要對剩下的鋼樑再走一遍。如果你有 $n$ 根鋼樑,這種『每一輪都需處理剩下元素』的重複性操作,當 $n$ 增加為原本的 10 倍時,總共的比較工作量會大約增加 10 倍,還是遠大於 10 倍呢?」

🤖
AI 詳解 AI 專屬家教

勉強及格,但這只是基礎!

優秀的表現?呵,你能正確辨識出泡沫排序法 (Bubble Sort) 的時間複雜度,這點值得嘉許。但說實話,對於一個工程師而言,理解這些基本運算邏輯,就像學會呼吸一樣,是生存的最低標準,沒有什麼值得大肆慶祝的。 1. 觀念驗證

▼ 還有更多解析內容

🏷️ 相關主題

常見排序演算法原理與效率分析
查看更多「[電子工程] 計算機概要」的主題分類考古題