Heim >Backend-Entwicklung >C#.Net-Tutorial >So schreiben Sie einen binären Suchalgorithmus mit C#
So schreiben Sie einen binären Suchalgorithmus mit C#
Der binäre Suchalgorithmus ist ein effizienter Suchalgorithmus, der die Position eines bestimmten Elements in einem geordneten Array mit einer zeitlichen Komplexität von O(logN) findet. In C# können wir mit den folgenden Schritten einen binären Suchalgorithmus schreiben.
Schritt 1: Daten vorbereiten
Zuerst müssen wir ein sortiertes Array als Zieldaten für die Suche vorbereiten. Angenommen, wir möchten die Position eines bestimmten Elements in einem Array ermitteln.
int[] data = {1, 3, 5, 7, 9, 11, 13, 15};
Schritt 2: Schreiben Sie eine binäre Suchfunktion
Als nächstes können wir eine Funktion schreiben, um den binären Suchalgorithmus zu implementieren. Zu den Parametern der Funktion gehören der zu findende Elementwert und das zu suchende Array. Der Rückgabewert der Funktion ist der Indexwert des gefundenen Elements im Array oder -1, wenn es nicht gefunden wird.
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; }
Schritt 3: Rufen Sie die binäre Suchfunktion auf
Jetzt können wir die oben beschriebene binäre Suchfunktion im Hauptprogramm aufrufen, um bestimmte Elemente zu finden. Wir können zunächst einen zu durchsuchenden Elementwert definieren, dann die binäre Suchfunktion aufrufen und das Ergebnis ausdrucken.
int target = 13; int result = BinarySearch(target, data); if (result == -1) { Console.WriteLine("在数组中未找到该元素!"); } else { Console.WriteLine("该元素在数组中的索引为:" + result); }
Das vollständige Codebeispiel lautet wie folgt:
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; } }
Durch das obige Codebeispiel können wir lernen, wie man einen binären Suchalgorithmus mit C# schreibt. In der tatsächlichen Entwicklung können wir den Algorithmus entsprechend den spezifischen Anforderungen anpassen und optimieren, um eine effizientere Suchfunktion zu erreichen.
Das obige ist der detaillierte Inhalt vonSo schreiben Sie einen binären Suchalgorithmus mit C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!