Middle
Sıralanmış siyahıda ikili axtarış necə işləyir?
sobes.tech Süni İntellekt
AI-dan cavab
İkili axtarış, sıralanmış bir siyahıda element tapmaq üçün logarifmik mürəkkəblik O(log n) olan bir algoritmdir. "Böl və hökmranlıq et" prinsipinə əsaslanır:
- Siyahının orta elementi müəyyən edilir.
- Əgər axtarılan element orta elementə bərabərdirsə, axtarış bitir.
- Əgər axtarılan element orta elementdən kiçikdirsə, axtarış siyahının sol yarısında davam edir.
- Əks halda, sağ yarısında davam edir.
Proses rekursiv və ya iterativ olaraq təkrarlanır, element tapılana və ya axtarış diapazonu tükənənə qədər.
Go dilində nümunə:
func binarySearch(arr []int, target int) int {
left, right := 0, len(arr)-1
for left <= right {
mid := left + (right-left)/2
if arr[mid] == target {
return mid
} else if arr[mid] < target {
left = mid + 1
} else {
right = mid - 1
}
}
return -1 // element tapılmayıb
}