Cara menulis algoritma carian binari menggunakan C#
Algoritma carian binari ialah algoritma carian yang cekap yang mencari kedudukan elemen tertentu dalam tatasusunan tersusun dengan kerumitan masa O(logN). Dalam C#, kita boleh menulis algoritma carian binari melalui langkah-langkah berikut.
Langkah 1: Sediakan data
Pertama, kita perlu menyediakan tatasusunan yang diisih sebagai data sasaran untuk carian. Katakan kita ingin mencari kedudukan elemen tertentu dalam tatasusunan.
int[] data = {1, 3, 5, 7, 9, 11, 13, 15};
Langkah 2: Tulis fungsi carian binari
Seterusnya, kita boleh menulis fungsi untuk melaksanakan algoritma carian binari. Parameter fungsi termasuk nilai elemen untuk ditemui dan tatasusunan untuk ditemui. Nilai pulangan fungsi ialah nilai indeks elemen yang ditemui dalam tatasusunan, atau -1 jika ia tidak dijumpai.
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; }
Langkah 3: Panggil fungsi carian binari
Kini, kita boleh memanggil fungsi carian binari yang ditulis di atas dalam program utama untuk mencari elemen tertentu. Mula-mula kita boleh menentukan nilai elemen untuk dicari, kemudian memanggil fungsi carian binari dan mencetak hasilnya.
int target = 13; int result = BinarySearch(target, data); if (result == -1) { Console.WriteLine("在数组中未找到该元素!"); } else { Console.WriteLine("该元素在数组中的索引为:" + result); }
Contoh kod lengkap adalah seperti berikut:
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; } }
Melalui contoh kod di atas, kita boleh belajar cara menulis algoritma carian binari menggunakan C#. Dalam pembangunan sebenar, kami boleh melaraskan dan mengoptimumkan algoritma mengikut keperluan khusus untuk mencapai fungsi carian yang lebih cekap.
Atas ialah kandungan terperinci Bagaimana untuk menulis algoritma carian binari menggunakan C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!