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

第 一 題

📖 題組:
下面的無向圖(undirected graph)表示四個人的關係,如張三與李四有關係,這二人之間有邊(edge)相連,則可走訪。括弧內為人名縮寫,如張三(Chang San)的縮寫為 CS。若同時有兩個以上的人可處理,則先處理人名縮寫的字母順序較小者。 圖形結構: 張三(CS) 連接 李四(LS), 趙六(CL) 李四(LS) 連接 張三(CS), 趙六(CL), 王五(WW) 趙六(CL) 連接 張三(CS), 李四(LS), 王五(WW) 王五(WW) 連接 李四(LS), 趙六(CL)
題組圖片
📝 此題為申論題,共 2 小題

小題 (一)

由張三(CS)出發,用佇列(queue)做廣度優先搜尋(breadth-first search)走訪所有人,請寫出走訪順序的中文人名。(10 分)

思路引導 VIP

首先確認廣度優先搜尋 (BFS) 需使用佇列 (Queue) 的先進先出特性來實作。遇到多個相鄰節點時,務必先比較人名縮寫的字母順序(CL < CS < LS < WW),字母小者優先進入佇列,即可準確推導出走訪順序。

🤖
AI 詳解
AI 專屬家教

【解題關鍵】利用佇列(Queue)先進先出(FIFO)的特性進行廣度優先搜尋(BFS),並根據縮寫字母順序決定入隊優先順序。 【解答】 已知:人名縮寫字母順序比較為 CL(趙六) < CS(張三) < LS(李四) < WW(王五)。

小題 (二)

由張三(CS)出發,用堆疊(stack)做深度優先搜尋(depth-first search)走訪所有人,請寫出走訪順序的中文人名。(10 分)

思路引導 VIP

看到這題,首先釐清各人名縮寫的字母順序(CL < CS < LS < WW),以及圖中各節點的相鄰關係。接著依據深度優先搜尋(DFS)「一路深入,無路可走再回溯」的特性,從起點出發,每次優先將未訪問且字母較大的鄰居先推入堆疊(或遞迴時優先選擇字母較小的鄰居深入),即可推導出正確走訪順序。

🤖
AI 詳解
AI 專屬家教

【解題思路】先確立各節點縮寫的字母順序大小,再利用深度優先搜尋(DFS)的特性,從當前節點優先選擇尚未走訪且字母順序最小的鄰居節點深入。 【詳解】 已知:

📝 同份考卷的其他題目

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

升級 VIP 解鎖