Examly題庫立即開始練習
國中教甄|資訊科技資訊科技112 年第 21 題單選題

以下為插入排序(insertion sort)的程式碼,A 是一個整數陣列,請問以下那個 A 陣列會讓 line5 被執行最少次? 1. INSERTION-SORT (A) 2. for j = 2 to A.length 3. key = A [j] 4. i = j - 1 5. while i > 0 and A[i] > key 6. A [i + 1] = A[i] 7. i = i - 1 8. A[i +1] = key

AA = [1,2,3,4,5,6,7,8]正確答案
BA = [8,7,6,5,4,3,2,1]
CA = [7,5,3,1,2,4,6,8]
DA = [2,3,2,3,2,3,2,3]
答案與詳解
A
正確答案
插入排序法在處理已遞增排序的陣列時為最佳情況,while 迴圈的條件判斷次數最少。

逐選項解析

AA = [1,2,3,4,5,6,7,8]✓ 正確
陣列已遞增排序,為插入排序法的最佳情況。每次外層迴圈執行時,內層 while 條件判斷一次即為假,不進入迴圈主體,總執行次數最少。
BA = [8,7,6,5,4,3,2,1]✕ 錯誤
陣列遞減排序,為最差情況。每次內層 while 迴圈皆需執行到 i=0 才停止,條件判斷次數最多。
CA = [7,5,3,1,2,4,6,8]✕ 錯誤
DA = [2,3,2,3,2,3,2,3]✕ 錯誤

立即註冊,看完整詳解

這題的完整詳解,註冊就能看 · 每天 2 題免費

精選詳解
  • 完整逐選項解析
  • 秒殺解題技巧與破題關鍵
  • 關鍵知識表整理
  • 陷阱與易錯提醒
  • 同考點歷屆題庫連續刷題與錯題本

資訊科技 相關題目

想練更多資訊科技考古題?

Examly 收錄 50 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Examly