題組內容

一、給一個排序好的陣列(Sorted Array)A[low...high],當我們要搜尋一個元素 X 是否 在此陣列 A 中,二元搜尋法(Binary Search)是檢查陣列的中間位置的元素 A[next], next =,和 X 做比較,並依比較結果作下列更新。 
 Case: 
 A[next]=X:return 
 A[next]>X:high <= next-1 
A[next]<X:low <= next +1 
重複上述步驟搜尋更新的陣列 A[low...high]直到找到 X 或確認 X 不是在此陣列 A 中。 若我們設計一個新的搜尋法來修改二元搜尋法,每次都是以下列方式選取 A[next]。 next←low+ 其他步驟都和二元搜尋相同。請回答下列問題:(每小題 5 分,共 15 分)

新的搜尋法在何種情形下,會比二元搜尋的搜尋速度為佳?請說明之。

詳解 (共 1 筆)

摩友(100006037195054)
摩友(100006037195054)
詳解 #3350338
2019/05/15
資料平均分布時,時間複雜度達到O(lg(...
(共 28 字,隱藏中)
前往觀看