C++二分検索の検索エンジンでのマルチドキュメントの提出の応用分析

1345 ワード

この例では、検索エンジンのマルチドキュメントの交差を求める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;
}


二分検索のアルゴリズム複雑度はlog 2 nであり,効率的な検索である.
検索では、ユーザーの検索など、ドキュメントの交差を求めるために使用されます.これらのドキュメントの間には交差が存在し、提供されるデータは秩序化されている可能性があります.どのようにして交差ドキュメントを得るのでしょうか.
これにより、二分検索を使用して、複数の順序のドキュメント配列の中で最も短いものを選択し、そこから要素を一度に選択し、他の配列の中で二分検索を行うことができ、交差ドキュメントを得ることができます.
本稿で述べたことが皆さんのC++プログラム設計に役立つことを願っています.