Binär sökning hittar ett mål i en sorterad array genom att upprepade gånger halvera sökintervallet. Varje jämförelse eliminerar hälften av de återstående elementen, vilket ger O(log n) tid.
Idén
Titta på mittelelementet. Om det är lika med målvärdet, klart. Om målvärdet är mindre, sök i vänster halva; om större, sök i höger halva. Upprepa tills värdet hittas eller intervallet är tomt.
Exempel
():
lo, hi = , (arr) -
lo <= hi:
mid = (lo + hi) //
arr[mid] == target:
mid
arr[mid] < target:
lo = mid +
:
hi = mid -
-
binary_search([, , , , ], )
