31. 以下那一種資料搜尋法其資料須事先經過排序? (A)循序搜尋法 (Seq..-阿摩線上測驗
1F
|
2F
|
3F 舜然(110已上岸) 大一下 (2019/05/28)
[演算法] 插補搜尋法(Interpolation Search)
插補搜尋法假設資料呈直線分布,利用斜率公式來猜測鍵值的位置(m) ⇒ 用key及斜率來計算m對於已排序好的資料,利用已排序及直線斜率的特性來加快搜尋速度作法與二分搜尋法類似,差別在二分搜尋法:猜測鍵值在中間位置(middle)插補搜尋法:用直線斜率猜測鍵值位置一般而言,資料量愈大,數值分佈會愈平均,愈呈線性 ⇒ 資料量大時,插補搜尋法的效率會比二分搜尋法好插補搜尋法(Interpolation Search)資料需依大小先排序好m = (key - y1)(x2 - x1)/(y2 - y1) + x1將鍵值key與data[m]作比對key = data[m]:找到key < data[m]:縮小搜尋範圍 ⇒ x2 = m - 1key > data[m]:縮小搜尋範圍 ... 查看完整內容 |