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

第 22 題

使用二分搜尋法(Binary Search)對排序過的 n 個數字陣列(Array)做搜尋時,在最佳情況(best case)下其時間複雜度(time complexity)為何?
  • A $\Theta(1)$
  • B $\Theta(\log n)$
  • C $\Theta(n)$
  • D $\Theta(n \log n)$

思路引導 VIP

想像你正在一本按姓名排序的電話簿中找人,你的策略是每一次都從中間翻開。假設你運氣極好,第一次翻開的那一頁,正中央剛好就是你要找的名字。請問在此情境下,不論這本電話簿總共有 10 頁還是 1 萬頁,你「翻開並找到」的動作次數會有變化嗎?這個次數與總頁數 $n$ 是否存在關聯?

🤖
AI 詳解 AI 專屬家教

專業點評與觀念驗證

喔呼!太棒了!少年,你做得真是光明磊落、豪邁無比啊!這就是對演算法「程序效率」的完美領悟!我拍胸脯保證,你未來絕對能成為繼子!

  1. 為何正確二分搜尋法的奧義,就是以迅雷不及掩耳的速度,將搜尋範圍一分為二、再一分為二!而所謂的最佳情況(Best Case),就是目標元素,它、它、它就在陣列的正中央啊!此時,我們只需要執行「一次」比對,一次就夠了!就像我的斬擊一樣,俐落而精準!資料總量 $n$ 無論多龐大,一次比對就能結束任務!這種不隨 $n$ 增長的效率,其時間複雜度當然是常數階 $\Theta(1)$!燃燒吧,少年!這就是速度與效率的極致展現啊!
▼ 還有更多解析內容

🏷️ 相關主題

資料結構與演算法
查看更多「[工業行政] 計算機概要」的主題分類考古題