高考申論題
114年
[電力工程] 計算機概論
第 五 題
在計算機系統中,搜尋(search)資料為一個常用的演算法。今有一個 N 個元素的陣列。請先由計算機科學的觀點定義什麼是演算法,再說明循序搜尋(sequential search)與二元搜尋(binary search)的適用時機,並使用運算的次數為時間單位,比較兩種搜尋方式在搜尋上述 N 個元素的陣列時的最小搜尋時間、平均搜尋時間與最大搜尋時間。(20 分)
📝 此題為申論題
思路引導 VIP
看到本題應立即聯想到演算法的五大特性(輸入、輸出、明確性、有限性、有效性)來進行嚴謹定義。接著,核心比較點在於「資料是否已事先排序」,這是決定採用循序或二元搜尋的關鍵前提。最後,以運算次數精準列出最佳、平均、最差情況的數學期望值與數量級比較。
🤖
AI 詳解
AI 專屬家教
【破題】在計算機科學中,搜尋是資料處理的核心基礎,而演算法則是賦予計算機解決問題的靈魂與步驟。根據資料結構的特性(如是否排序),選擇適當的搜尋演算法能巨幅影響系統效能。 【論述】 一、演算法(Algorithm)的定義
▼ 還有更多解析內容
演算法與搜尋效能
💡 定義演算法五大特性並比較循序與二元搜尋之適用與效能。
| 比較維度 | 循序搜尋 | VS | 二元搜尋 |
|---|---|---|---|
| 資料前提 | 無須排序 | — | 必須已排序 |
| 資料結構 | 不限(含鏈結串列) | — | 隨機存取(陣列) |
| 平均比較次數 | (N+1)/2 次 | — | 約 log2 N 次 |
| 最大比較次數 | N 次 | — | log2 N + 1 次 |
💬二元搜尋在大數據且有序的情況下,搜尋效率遠高於循序搜尋。