బైనరీ సర్చ్ సార్టు చేయబడిన శ్రేణిలో సర్చ్ పరిధిని పదేపదే సగానికి తగ్గించడం ద్వారా లక్ష్యాన్ని కనుగొంటుంది. ప్రతిটి పోలిక మిగిలిన మూలకాలలో సగం తొలగిస్తుంది, ఇది O(log n) సమయం ఇస్తుంది.
ఆలోచన
మధ్య మూలకను చూడండి. ఇది లక్ష్యానికి సమానమైతే, పూర్తి. లక్ష్యం చిన్నది అయితే, ఎడమ సగం సర్చ్ చేయండి; పెద్దది అయితే, కుడి సగం సర్చ్ చేయండి. కనుగొనే వరకు లేదా పరిధి ఖాళీ వరకు పునరావృత్తి చేయండి.
ఉదాహరణ
():
lo, hi = , (arr) -
lo <= hi:
mid = (lo + hi) //
arr[mid] == target:
mid
arr[mid] < target:
lo = mid +
:
hi = mid -
-
binary_search([, , , , ], )
