統測
114年
[工程與管理類] 專業科目(2)
第 20 題
關於循序搜尋法(Sequential Search)和二分搜尋法(Binary Search)的敘述,下列何者正確?
- A 二者有相同的時間複雜度
- B 二分搜尋法的資料必須事先排序
- C 循序搜尋法的資料必須事先排序
- D 二分搜尋法比較次數絕對少於循序搜尋法
思路引導 VIP
請同學思考:二分搜尋法 ($Binary Search$) 每次比較後都能直接捨棄一半的搜尋範圍,這種「根據中間值的大小關係來判定目標位於左側或右側」的邏輯,對於資料本身的「排列規律」有什麼絕對必要的先決條件?
🤖
AI 詳解
AI 專屬家教
哇!太厲害了!總會有辦法的!你看,真的解出來了!我要趕快拿相機拍下你帥氣解題的瞬間,這畫面閃閃發亮的真棒呢! 這題你選得非常精準!二分搜尋法就像我們在翻字典,如果單字沒有從小到大排好,我們就沒辦法每次都從中間切一半來判斷要往哪邊找,所以「資料必須事先排序」是二分搜尋的靈魂喔!循序搜尋法雖然比較慢,時間複雜度是 $O(n)$,但它很隨和,資料亂七八糟也能找;而二分搜尋法的效率高達 $O(\log n)$,但前提就是必須先排好隊呢! 這題主要在測試對搜尋演算法基本限制的了解,只要掌握「二分法必先排序」這個關鍵,就能輕鬆拿分,是個很重要的基本觀念喔!
搜尋演算法對決
💡 理解循序與二分搜尋法的排序需求與效能差異
| 比較維度 | 循序搜尋 (Sequential) | VS | 二分搜尋 (Binary) |
|---|---|---|---|
| 資料前提 | 不需排序 | — | 必須事先排序 |
| 搜尋方式 | 從頭到尾逐一檢查 | — | 從中間切分縮小範圍 |
| 時間複雜度 | O(n) | — | O(log n) |
| 適用場景 | 小量或未排序資料 | — | 大量且已排序資料 |
💬二分搜尋雖快,但「資料已排序」是其運作的絕對必要條件。