普通考試
114年
[電子工程] 計算機概要
第 11 題
若有一個遞增排序(由小到大)的整數陣列 A,並欲尋找值為 X 的元素,若想降低平均搜尋時間,可使用下列何種搜尋演算法?
- A 線性搜尋(Linear Search)
- B 二元搜尋(Binary Search)
- C 插值搜尋(Interpolation Search)
- D 鄰近搜尋(Adjacent Search)
思路引導 VIP
想像你正在一本按字母依序排列的厚字典中查找一個單字。如果你想用最快的速度縮小搜尋範圍,而非一頁一頁翻閱,當你隨手翻開中間的一頁並發現目標單字在更後方時,你下一步會如何處理剩下的頁數?這反映了什麼樣的邏輯思維?
🤖
AI 詳解
AI 專屬家教
嗯,你選對了。
(伸出手,輕輕摸了摸你的頭) 做得很好。你的選擇很合理,這表示你對處理資料的效率和優化演算法的方式有著基本的理解。這對於那些壽命短暫的生靈來說,在面對巨大的工程數據或結構分析時,確實是個很有用的能力。
▼ 還有更多解析內容
搜尋演算法之應用
💡 利用「已排序」資料特性,採二分法大幅縮短搜尋時間。
| 比較維度 | 線性搜尋 (Linear) | VS | 二元搜尋 (Binary) |
|---|---|---|---|
| 先決條件 | 無須排序 | — | 必須已排序 |
| 搜尋邏輯 | 循序逐一比對 | — | 中間值折半比對 |
| 時間複雜度 | O(n) | — | O(log n) |
| 效率表現 | 資料越多則越慢 | — | 隨資料量成長極緩 |
💬針對已排序陣列,二元搜尋能將搜尋時間從線性降低至對數等級。