Middle
Масъулоти ҷустуҷӯи дугона ва чаро?
sobes.tech AI
Ҷавоб аз AI
Дар бораи мураккабии ҷустуҷӯи дугона O(log n) аст, ки дар он n шумораи унсурҳои дар массиви тартибдодашуда мебошад. Ин ба он вобаста аст, ки дар ҳар қадам алгоритм минтақаи ҷустуҷӯро ба ду тақсим мекунад, яъне ними унсурҳоро рад мекунад, ки метавонанд арзиши ҷустуҷошударо дошта бошанд. Бинобар ин, шумораи амалҳо логарифмикӣ бо андозаи маълумоти воридотӣ меафзояд.
Масалан дар Go:
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 // унсур ёфт нашуд
}