問題詳情

22 給定一個陣列 arr ={45, 66, 78, 89, 91, 95, 120},且欲搜尋的目標鍵值是 key = 95,則使用二元搜尋法第一次尋找、第二次尋找分別比對那個元素?
(A) 89、95
(B) 89、91
(C) 78、95
(D) 78、91

參考答案

答案:A
難度:適中0.483
書單:沒有書單,新增

用户評論

【用戶】不叫賭俠的陳小刀

【年級】高三下

【評論內容】用二元搜尋法(Binary Search)進行搜尋時,將目標鍵值與陣列的中間元素進行比較,以決定下一步搜尋的範圍。對於給定的陣列 arr = {45, 66, 78, 89, 91, 95, 120},欲搜尋的目標鍵值是 key = 95。下面是使用二元搜尋法的過程:第一次尋找:比較目標鍵值 key(95)與陣列的中間元素 arr[mid](89)。因為 key > arr[mid],所以下一次搜尋範圍縮小到右半部分。新的搜尋範圍變為 {91, 95, 120}。第二次尋找:比較目標鍵值 key(95)與新的搜尋範圍的中間元素 arr[mid](95)。因為 key = arr[mid],找到目標鍵值。結束搜尋。因此,第一次尋找比對的元素是 89,第二次尋找比對的元素是 95。

【用戶】不叫賭俠的陳小刀

【年級】高三下

【評論內容】用二元搜尋法(Binary Search)進行搜尋時,將目標鍵值與陣列的中間元素進行比較,以決定下一步搜尋的範圍。對於給定的陣列 arr = {45, 66, 78, 89, 91, 95, 120},欲搜尋的目標鍵值是 key = 95。下面是使用二元搜尋法的過程:第一次尋找:比較目標鍵值 key(95)與陣列的中間元素 arr[mid](89)。因為 key > arr[mid],所以下一次搜尋範圍縮小到右半部分。新的搜尋範圍變為 {91, 95, 120}。第二次尋找:比較目標鍵值 key(95)與新的搜尋範圍的中間元素 arr[mid](95)。因為 key = arr[mid],找到目標鍵值。結束搜尋。因此,第一次尋找比對的元素是 89,第二次尋找比對的元素是 95。