Junior — Middle
Ներկայացրեք բինար որոնման ալգորիթմի աշխատանքային սկզբունքը և նրա հիմնական քայլերը։
sobes.tech AI
Պատասխան AI-ից
Բինար որոնումը արդյունավետ ալգորիթմ է սորտավորված զանգվածում տարր գտնելու համար: Նրա սկզբունքը կայանում է որոնման տարածքը հերթական կերպով կեսերով բաժանելու և որոնվող արժեքը համեմատելու մեջ միջնամասի տարրին:
Հիմնական քայլեր՝
- Հիմնական սահմանները սահմանել՝ ձախ և աջ ինդեքսներ:
- Գտնել միջին ինդեքսը՝ mid = (left + right) // 2:
- Համեմատել որոնվող արժեքը միջնամասի տարրին:
- Եթե հավասար են, վերադարձնել mid:
- Եթե որոնվող արժեքը փոքր է, տեղափոխել աջ սահմանը՝ mid - 1:
- Եթե մեծ է, տեղափոխել ձախ սահմանը՝ mid + 1:
- Կրկնել քայլերը՝ 2-3, մինչև ձախ սահմանը չանցնի աջ սահմանը:
Եթե տարրը չի գտնվել, վերադարձնել՝ օրինակ, -1:
Python օրինակ՝
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1