Q69.
編譯程式語言時,下列何者並不會用來實作符號表?
電腦軟體設計共同科目 · 乙級 · Q69
難易度分析
2 / 5
本題要求辨識符號表實作中不適用的資料結構,考生需對比不同資料結構的查找效率與應用目的,能區分鍵值檢索結構與關係表達結構即可作答。
正確答案:②Graph
② Graph:圖結構(Graph) 主要用於表示節點間的關係(如控制流程圖 CFG、資料流程圖 DFG),不具備鍵值快速查找的特性,因此不會用來實作符號表。
錯誤選項解析
- ① Tree:樹狀結構(Tree) 如二元搜尋樹或平衡樹(AVL Tree、Red-Black Tree)是符號表的常見實作方式,能提供 O(log n) 的搜尋效率,適合管理變數與函數名稱的鍵值對應關係。
- ③ List:串列結構(List) 是最基礎的符號表實作方式,以線性搜尋逐一比對識別字,雖然效率為 O(n),但在小型程式或編譯器原型中仍會被使用。
- ④ Hash Table:雜湊表(Hash Table) 是符號表最廣泛使用的實作方式,透過雜湊函數將識別字映射至索引位置,平均搜尋時間可達 O(1),為現代編譯器的首選資料結構。
Learning Tip
"符號表(Symbol Table) 的核心需求是「快速查找識別字」,因此實作資料結構必須支援高效的鍵值搜尋。雜湊表 因平均 O(1) 效率最常用,樹狀結構 提供穩定 O(log n) 效率,串列 雖慢但實作簡單。常考陷阱是混淆「圖結構」的用途——圖用於表達控制流程或資料依賴關係,而非查找用途。"
學員答題分佈
①Tree0%
②Graph0%
③List0%
④Hash Table0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!