問題詳情

22 若採循序搜尋(Sequential search),從 n 個未排序的數字中進行搜尋,平均要進行幾次數字比較,才 能成功搜尋到特定的數字?
(A)n
(B)(n+1)/2
(C)(n+1)*n/2
(D) n/2

參考答案

答案:B
難度:適中0.5
書單:沒有書單,新增

用户評論

小V】評論

循序搜尋法(Sequential Search)【定義】 從第一個資料開始取出,依序一一與「目標資料」相互比較,直到找到所要元素或所有資料均尋找完為止,此方法稱「循序搜尋」。【優點】(1) 程式容易撰寫。(2) 資料不須事先排序(Sorting)。【缺點】 搜尋效率比較差(平均次數=(N+1)/2),不管是否有排序,每次都必須要從頭到尾找一次。【時間複雜度】(1) 如果資料沒有重覆,找到資料就可終止,否則要找到資料結束。N筆資料,在最差之情況下,需作N次比較,O(N)。(2) 在平均狀況下(假設資料出現與分佈之機率相等)需(N+1)/2次比較,所以平均時間與最差時間為O(N),最好為O(1)=1次。