2.2 插值查找

C代码  插值搜索——本质和二分无异,是利用数据分布的规律来定查找点,其基本假设是数据分布均匀
  1. /* a是待搜索的顺序表,, size是a的长度, t 是待搜索的值 */  
  2. int search(int a[], int size, int t)  
  3. {  
  4.     int low = 0, high = size - 1;  
  5.     int pos;  
  6.     while(low <= high){  
  7.         pos = (t - a[low])/(a[high] - a[low])*(high - low) + low;  
  8.         if(a[pos] == t){  
  9.             return pos;  
  10.         }  
  11.         if(a[pos] > t){  
  12.             high = pos - 1;  
  13.         }else{  
  14.             low = pos + 1;  
  15.         }  
  16.     }  
  17.     return -1;  
  18. }  
 

2.3 斐波那契查找

相关文章:

  • 2021-08-29
  • 2021-07-28
  • 2021-11-07
  • 2021-09-19
  • 2022-12-23
  • 2021-05-18
  • 2021-09-03
猜你喜欢
  • 2021-08-05
  • 2021-11-11
  • 2021-11-04
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案