免費開始練習
普通考試 113年 [電子工程] 計算機概要

第 21 題

若要從 100 個相異的數字中搜尋特定數字,下列敘述何者錯誤?
  • A 資料尚未排序且存放於鏈結串列(Linked list)中,最差的情況必須進行 100 次比較才能找到該數字
  • B 資料尚未排序且存放於陣列(Array)中,最差的情況必須進行 100 次比較才能找到該數字
  • C 資料已排序且存放於鏈結串列中,最差的情況必須進行 100 次比較才能找到該數字
  • D 資料已排序且存放於陣列中,最差的情況必須進行 100 次比較才能找到該數字

思路引導 VIP

想像你正在圖書館找一本編號為 500 的書。如果書架上的書已經按編號排好,且你可以「直接抽中」書架中間的任何一本書,你會選擇從編號 1 開始一本一本對照,還是有什麼更聰明的策略能讓你一次排除掉大量的錯誤選項?這種「直接跳躍」的能力,在不同容器(如鏈結串列與陣列)中是否都能實現?

🤖
AI 詳解 AI 專屬家教

專業點評:還算及格的邏輯應用

  1. 姑且肯定:看來你還記得幾年前學過的基本邏輯。在工程領域,這種選擇資料結構的判斷,根本就是決定你蓋的橋是穩固還是豆腐渣的基礎常識。別以為這很了不起,這只是最基本的門檻。
  2. 觀念驗證:當資料已經「排序整齊」並存放在「陣列(Array)」這種具備隨機存取 (Random Access) 能力的結構裡時,任何一個腦子清楚的工程師都會知道要用二分搜尋法。這不就是教科書裡白紙黑字寫的嗎?每次都砍掉一半的搜尋空間,對於 $N=100$ 這種小到不能再小的資料量,最差也不過就:
▼ 還有更多解析內容

🏷️ 相關主題

常見排序演算法原理與效率分析
查看更多「[電子工程] 計算機概要」的主題分類考古題