时间:2021-05-20
本文实例讲述了C++二分查找在搜索引擎多文档求交的应用。分享给大家供大家参考。具体如下:
int search2(int array[], int n, int v){ int left, right, middle; left = 0, right = n - 1; while (left <= right) { middle = (left + right) / 2; if (array[middle] > v) { right = middle - 1; } else if (array[middle] < v) { left = middle + 1; } else { return middle; } } return -1;}int search3(int array[], int n, int v){ int left, right, middle; left = 0, right = n; while (left < right) { middle = (left + right) / 2; if (array[middle] > v) { right = middle; } else if (array[middle] < v) { left = middle + 1; } else { return middle; } } return -1;}二分查找的算法复杂度是log2n,是一种高效的查找。
在搜索中,会用到文档求交,比如用户的一个检索,从各个集群上网上吐数据,这些文档之间可能是存在交集的,并且提供的数据是有序的,怎么得到交集文档呢?
这个就可以使用二分查找,在多个有序的文档数组中,挑选一个最短的,然后一次从中选取一个元素,在其它数组中进行二分查找,这样就可以拿到交集文档。
希望本文所述对大家的C++程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C++中二分查找递归非递归实现并分析二分查找在有序数列的查找过程中算法复杂度低,并且效率很高。因此较为受我们追捧。其实二分查找算法,是一个很经典的算法。但是呢,
本文实例讲述了C++二分查找(折半查找)算法。分享给大家供大家参考,具体如下:二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表
本文实例为大家分享C++二分查找算法,通过改变边界位置来进行查找的方法,代码如下:#includeusingnamespacestd;intsearch(int
C语言数据结构中二分查找递归非递归实现并分析前言:二分查找在有序数列的查找过程中算法复杂度低,并且效率很高。因此较为受我们追捧。其实二分查找算法,是一个很经典的
本文实例讲述了C++二分法在数组中查找关键字的方法。分享给大家供大家参考。具体如下:#in