标签:使用 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