C#におけるバイナリサーチの実装方法と使用法


  1. バイナリサーチの実装方法: C#でバイナリサーチを実装するには、以下の手順に従います。

Step 1: ターゲット要素を指定します。 Step 2: ソート済みの配列やリストの中央の要素を取得します。 Step 3: 中央の要素とターゲット要素を比較します。 Step 4: ターゲット要素が中央の要素と等しい場合、検索成功です。 Step 5: ターゲット要素が中央の要素より小さい場合、検索範囲を中央要素より前半の部分に絞り込み、Step 2に戻ります。 Step 6: ターゲット要素が中央の要素より大きい場合、検索範囲を中央要素より後半の部分に絞り込み、Step 2に戻ります。 Step 7: 検索範囲が空になるまでStep 2からStep 6を繰り返します。

以下は、C#でのバイナリサーチの実装例です。

public static int BinarySearch(int[] array, int target)
{
    int low = 0;
    int high = array.Length - 1;
    while (low <= high)
    {
        int mid = (low + high) / 2;
        int midValue = array[mid];
        if (midValue == target)
            return mid;
        else if (midValue < target)
            low = mid + 1;
        else
            high = mid - 1;
    }
    return -1; // 要素が見つからなかった場合
}
  1. バイナリサーチの使用法: バイナリサーチは、大量のデータがソートされた状態で格納されている場合に効果的です。以下にバイナリサーチの使用例を示します。
int[] array = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
int target = 12;
int index = BinarySearch(array, target);
if (index != -1)
{
    Console.WriteLine("要素が見つかりました。インデックス: " + index);
}
else
{
    Console.WriteLine("要素が見つかりませんでした。");
}

この例では、配列arrayから要素target(ここでは12)をバイナリサーチで検索しています。もし要素が見つかれば、そのインデックスが返されます。見つからなかった場合は、-1が返されます。

以上が、C#におけるバイナリサーチの実装方法と使用法の説明です。バイナリサーチは効率的な検索アルゴリズムであり、ソートされたデータの検索に活用されます。