高考申論題
112年
[資訊處理] 資料結構
第 一 題
請以 C, C++, C#, Java 或 Python 撰寫 2 個方法,一個以迴圈方式,一個以遞迴方式,對存在 singular linked list 的資料進行 linearly search。假設 Node 的結構如下:(12 分)
class Node {
int data=0;
Node next=null;
Node(int dd, Node nn) { data=dd; next=nn; }
}
📝 此題為申論題
思路引導 VIP
看到單向鏈結串列的搜尋問題,首要掌握尋訪(Traversal)的技巧。迴圈法利用指標(Reference)的不斷向後推進(curr = curr.next)直到走完;遞迴法則需先定義終止條件(節點為空或找到目標),再將搜尋範圍縮小至下一個節點進行遞迴呼叫。
🤖
AI 詳解
AI 專屬家教
【解題思路】利用鏈結串列的基本尋訪(Traversal)機制,逐一比對節點資料,並分別以迭代與遞迴兩種邏輯來實現線性搜尋。
【詳解】
以下使用 Java 語言進行實作,並假設搜尋方法定義在包含該 Node 結構的鏈結串列類別中。方法回傳型態設定為 Node,若找到目標數值則回傳該節點,若走訪結束仍未找到則回傳 null。
▼ 還有更多解析內容