C# を使用して二分探索アルゴリズムを作成する方法
二分探索アルゴリズムは効率的な検索アルゴリズムであり、順序付けされた配列内の特定の要素の位置を検索します。配列であり、時間は複素数で、次数は O(logN) です。 C# では、次の手順で二分探索アルゴリズムを作成できます。
ステップ 1: データの準備
まず、検索対象のデータとしてソートされた配列を準備する必要があります。配列内の特定の要素の位置を見つけたいとします。
int[] data = {1, 3, 5, 7, 9, 11, 13, 15};
ステップ 2: 二分検索関数を作成する
次に、二分検索アルゴリズムを実装する関数を作成します。関数のパラメータには、検索する要素の値と検索する配列が含まれます。関数の戻り値は、配列内で見つかった要素のインデックス値、または要素が見つからない場合は -1 です。
int BinarySearch(int target, int[] data) { int left = 0; int right = data.Length - 1; while (left <= right) { int mid = left + (right - left) / 2; if (data[mid] == target) { return mid; } else if (data[mid] < target) { left = mid + 1; } else { right = mid - 1; } } return -1; }
ステップ 3: 二分検索関数を呼び出す
これで、メイン プログラム内で上で記述した二分検索関数を呼び出して、特定の要素を見つけることができます。最初に検索する要素の値を定義し、次にバイナリ検索関数を呼び出して結果を出力します。
int target = 13; int result = BinarySearch(target, data); if (result == -1) { Console.WriteLine("在数组中未找到该元素!"); } else { Console.WriteLine("该元素在数组中的索引为:" + result); }
完全なコード例は次のとおりです。
using System; public class BinarySearchExample { static void Main(string[] args) { int[] data = {1, 3, 5, 7, 9, 11, 13, 15}; int target = 13; int result = BinarySearch(target, data); if (result == -1) { Console.WriteLine("在数组中未找到该元素!"); } else { Console.WriteLine("该元素在数组中的索引为:" + result); } } static int BinarySearch(int target, int[] data) { int left = 0; int right = data.Length - 1; while (left <= right) { int mid = left + (right - left) / 2; if (data[mid] == target) { return mid; } else if (data[mid] < target) { left = mid + 1; } else { right = mid - 1; } } return -1; } }
上記のコード例を通じて、C# を使用して二分探索アルゴリズムを作成する方法を学習できます。実際の開発では、特定のニーズに応じてアルゴリズムを調整および最適化することで、より効率的な検索機能を実現できます。
以上がC# を使用して二分探索アルゴリズムを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。