C# を使用して二分探索アルゴリズムを作成する方法
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 サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









C# を使用した Active Directory のガイド。ここでは、Active Directory の概要と、C# での動作方法について、構文と例とともに説明します。

C# データ グリッド ビューのガイド。ここでは、SQL データベースまたは Excel ファイルからデータ グリッド ビューをロードおよびエクスポートする方法の例について説明します。

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。
