免費開始練習
高考申論題 114年 [資訊處理] 資料結構

第 一 題

📖 題組:
請回答下列問題:(每小題 4 分,共 20 分)
📝 此題為申論題,共 5 小題

小題 (一)

請說明堆疊(Stack)及佇列(Queue)那一種資料結構較適合用來進行後序(Postfix)運算式的計算?

思路引導 VIP

看到後序運算式計算,應立刻回想其運算規則:由左至右掃描,遇到運算子時,需取『最近出現的兩個運算元』進行運算。這種『最近存入、最先取出』的需求,直接對應到後進先出(LIFO)的特性,進而推導出應使用何種資料結構。

🤖
AI 詳解
AI 專屬家教

【破題】堆疊(Stack)較適合用來進行後序(Postfix)運算式的計算。 【論述】 一、運算規則需求:後序運算式的計算方式為由左至右掃描,當遇到「運算元(Operand)」時需先暫存;當遇到「運算子(Operator)」時,必須取出「最接近該運算子且尚未運算」的兩個運算元進行計算。

小題 (二)

請說明在二元搜尋樹中,前序(Preorder)走訪、中序(Inorder)走訪、後序(Postorder)走訪、層序(Level-order)走訪那一種走訪順序可得到遞增的鍵值?

思路引導 VIP

首先回憶「二元搜尋樹(BST)」的核心定義:左子樹節點值 < 父節點值 < 右子樹節點值。接著對應四種走訪的遍歷順序(前序VLR、中序LVR、後序LRV、層序逐層),尋找符合「小 → 中 → 大」的走訪方式即可迅速得出答案。

🤖
AI 詳解
AI 專屬家教

中序(Inorder)走訪可得到遞增的鍵值。 二元搜尋樹(Binary Search Tree, BST)的定義為:對於樹中的任意節點,其左子樹(L)所有節點的鍵值必定小於該節點(V)的鍵值,且右子樹(R)所有節點的鍵值必定大於該節點的鍵值(即 L < V < R)。 「中序走訪」的遍歷順序恰好為「左子樹 → 根節點 → 右子樹」。由於每次遞迴都是先訪問較小的左子樹,接著是居中的根(父)節點,最後是較大的右子樹,因此最終輸出的序列必定為遞增排序的鍵值。

小題 (三)

請說明在使用雜湊表時,若使用鏈結串列(chaining)處理碰撞(collision)問題,則搜尋的平均時間複雜度為下列何者?O(1)、O(log n)、O(n)或 O(sqrt{n})。

思路引導 VIP

考生看到此題應先回想「雜湊表 (Hash Table)」的設計初衷是為了達成 O(1) 的搜尋時間。接著思考「Chaining(鏈結法)」的機制,並透過計算載入因子(Load Factor, α = n/m)來推導「平均情況」下的搜尋時間複雜度。

🤖
AI 詳解
AI 專屬家教

【破題】 在使用雜湊表並以鏈結串列(Chaining)處理碰撞問題時,搜尋的平均時間複雜度為 O(1)。 【論述】

小題 (四)

請說明若一個圖 G(V, E)的頂點數|V|為 n,而邊數|E|接近 n²,則相鄰串列(adjacency list)、相鄰矩陣(adjacency matrix)、或邊列表(edge list)中,那一種資料結構最適合用來儲存該圖?

思路引導 VIP

看到題目給定邊數 |E| 接近 n²,應立即聯想到這是「稠密圖(Dense Graph)」。接著比較相鄰串列、相鄰矩陣與邊列表在空間複雜度(特別是指標的額外開銷)與時間複雜度(查詢邊的效率)上的優劣,即可得出最佳選擇。

🤖
AI 詳解
AI 專屬家教

【破題】 最適合用來儲存該圖的資料結構為「相鄰矩陣(Adjacency Matrix)」。因為當邊數 |E| 接近 n² 時,代表此為「稠密圖(Dense Graph)」。 【論述】

小題 (五)

下列那幾項演算法可用於找出圖的最小生成樹(Minimum Spanning Tree):Dijkstra 演算法、Floyd-Warshall 演算法、Prim 演算法、Bellman-Ford 演算法?

思路引導 VIP

考生看到此題應首先釐清圖論中「最小生成樹 (MST)」與「最短路徑 (Shortest Path)」兩大核心問題的差異。接著快速回想選項中各個經典演算法的適用情境與設計目的,即可精準選出正確答案並排除干擾選項。

🤖
AI 詳解
AI 專屬家教

此題中僅有 Prim 演算法 可用於找出圖的最小生成樹(Minimum Spanning Tree)。 各演算法之功能解析如下:

  1. Prim 演算法:用於尋找加權無向連通圖的「最小生成樹」。

🏷️ 相關主題

常見樹狀資料結構:原理、應用與實作
查看更多「[資訊處理] 資料結構」的主題分類考古題

📝 同份考卷的其他題目

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