免費開始練習
地特三等申論題 106年 [資訊處理] 資料結構

第 一 題

📖 題組:
下表列出四種常見的資料結構,請填滿該表以顯示各資料結構在一般狀況下(average case),搜尋(search)、插入(insertion)、刪除(deletion)資料之時間複雜度。陣列的各項資料已事先填入作為範例。(每小題 5 分,共 20 分) | | 搜尋(search) | 插入(insertion) | 刪除(deletion) | | :--- | :---: | :---: | :---: | | 陣列 | O(n) | O(n) | O(n) | | (一)佇列(queue) | | | | | (二)雙向連結串列(doubly-linked list) | | | | | (三)二元搜尋樹(binary search tree) | | | | | (四)AVL樹(AVL tree) | | | |
📝 此題為申論題,共 4 小題

小題 (一)

佇列(queue)

思路引導 VIP

思考佇列(Queue)的「先進先出(FIFO)」特性與操作限制:插入(enqueue)只能在尾端、刪除(dequeue)只能在前端。因為不支援隨機存取,搜尋必須線性走訪所有元素。

🤖
AI 詳解
AI 專屬家教

搜尋(search):O(n) 插入(insertion):O(1) 刪除(deletion):O(1)

小題 (二)

雙向連結串列(doubly-linked list)

思路引導 VIP

思考雙向連結串列(Doubly-linked list)的資料儲存特性:其記憶體位置不連續,因此無法隨機存取,必須循序搜尋。但優勢在於,只要掌握了目標節點的指標,其插入與刪除都只需修改相鄰節點的指標,無須像陣列一樣搬移大量資料。

🤖
AI 詳解
AI 專屬家教

【解答】 搜尋(search):O(n) 插入(insertion):O(1)

小題 (三)

二元搜尋樹(binary search tree)

思路引導 VIP

看到二元搜尋樹(BST),應先思考其核心特性與樹高(height)的關係。在「一般狀況(average case)」下,樹的結構大致平衡,樹高約為 O(log n);而搜尋、插入、刪除三種操作的執行時間皆與樹高成正比,故皆為 O(log n)。

🤖
AI 詳解
AI 專屬家教

【解答】

  • 搜尋 (search):O(log n)
  • 插入 (insertion):O(log n)

小題 (四)

AVL樹(AVL tree)

思路引導 VIP

看到 AVL 樹,首先要想到它是「高度平衡的二元搜尋樹」,其核心特性是透過旋轉操作保證樹的高度永遠維持在 O(log n)。因此,無論是尋找節點,或是插入、刪除後的重整,其平均與最差時間複雜度皆被嚴格限制在 O(log n)。

🤖
AI 詳解
AI 專屬家教

【破題】AVL樹為一種具備自我平衡機制(Self-balancing)的二元搜尋樹,可確保樹的高度對數化。 【論述】 一、填表解答

📝 同份考卷的其他題目

查看 106年[資訊處理] 資料結構 全題

升級 VIP 解鎖