标签:使用 turn 函数 cpp 磁盘 val 内存 font ble
插值查找在实际使用时,一般要满足两个假设条件:
(1)每一次对数据的访问与通常的指令相比,费用都是相当昂贵的。例如,待查找的表一定是在磁盘而非内存中,因而每一次比较都要进行磁盘访问。
(2)数据不仅是已被排好序的,而且呈现均匀分布特征。
/*
* 功能:该函数用来实现插值查找算法
* 输入:查找数组search_table,数组长度n,查找元素element
* 输出:返回元素的位置
*/
int insertValue_Search(int search_table[], int n, int element)
{
int low = 0;
int high = n - 1;
while(low <= high)
{
int mid = (int)(low + (element-search_table[low])/(search_table[high]-search_table[low])*(high-low));
if(search_table[mid] == element)
{
return mid;
}
else if(search_table[mid] > element)
{
high = mid - 1;
}
else
{
low = mid + 1;
}
}//while
return -1;
}
标签:使用 turn 函数 cpp 磁盘 val 内存 font ble
原文地址:http://www.cnblogs.com/enyala/p/7698344.html