🔍 Binary Search (İkiyarılı axtarış alqoritmi)
🔸 1. Binary Search nədir?
Binary Search — sıralanmış massivlərdə müəyyən elementi çox sürətli axtarmağa imkan verən alqoritmdir.
İş prinsipi budur:
Massivin ortasındakı elementi götürür.
Axtardığımız ədəd ortadakından kiçikdirsə, sol yarısına,
böyükdürsə, sağ yarısına baxırıq.
Bu prosesi təkrar edərək cavabı tapırıq.
🔸 2. Şərt: Binary Search üçün massiv mütləq sıralanmış olmalıdır!
✅ 3. Məsələn:
int[] arr = { 1, 4, 8, 12, 23, 36, 42 };
int target = 12;
1. low = 0, high = 6 → mid = (0+6)/2 = 3 → arr[3] = 12 → ✅ Tapıldı!
🔧 4. Kod nümunəsi (C# ilə)
static int BinarySearch(int[] arr, int target)
{
int low = 0;
int high = arr.Length - 1;
while (low <= high)
{
int mid = (low + high) / 2;
if (arr[mid] == target)
return mid;
if (arr[mid] < target)
low = mid + 1;
else
high = mid - 1;
}
return -1; // tapılmadısa
}
⏱️ 5. Vaxt mürəkkəbliyi:
- Ən pis halda: O(log n)
- Yəni axtarış sahəsi hər dəfə 2 dəfə azalır → çox sürətlidir.
🎯 Tapşırıqlar (Binary Search):
- Verilmiş sıralanmış massivin içində istifadəçinin daxil etdiyi ədədi binary search ilə tap.
- Əgər ədəd yoxdursa, “tapılmadı” yaz.
- BinarySearch metodunu ayrıca yaz və Main metodunda çağır.
- Əgər tapıldısa: “Ədəd tapıldı! İndeks: X” şəklində çıxış ver.