C++二分查找在搜索引擎多文檔求交的應用分析
更新時間:2015年06月02日 10:42:29 作者:無影
這篇文章主要介紹了C++二分查找在搜索引擎多文檔求交的應用,實例分析了二分查找的原理與C++的實現(xiàn)及應用技巧,需要的朋友可以參考下
本文實例講述了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,是一種高效的查找。
在搜索中,會用到文檔求交,比如用戶的一個檢索,從各個集群上網(wǎng)上吐數(shù)據(jù),這些文檔之間可能是存在交集的,并且提供的數(shù)據(jù)是有序的,怎么得到交集文檔呢?
這個就可以使用二分查找,在多個有序的文檔數(shù)組中,挑選一個最短的,然后一次從中選取一個元素,在其它數(shù)組中進行二分查找,這樣就可以拿到交集文檔。
希望本文所述對大家的C++程序設計有所幫助。
您可能感興趣的文章:
相關文章
Ubuntu18.04下QT開發(fā)Android無法連接設備問題解決實現(xiàn)
本文主要介紹了Ubuntu18.04下QT開發(fā)Android無法連接設備問題解決實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06