द्विआधारी खोज प्रणाली
द्विआधारी खोज प्रणाली (अंग्रेज़ी: Binary Search Algorithm) हल सारणी में किसी आइटम की स्थिति ढूंढती है। द्विआधारी खोज तत्व सारणी के लिए एक इनपुट मूल्य की तुलना करके काम करता है। तुलना से यह निर्धारित होता है कि इनपुट तत्व से कम या अधिक है। जब इनपुट, तत्व के बराबर हो जाता है तब खोज बंद हो जाती है और तत्व की स्थिति देता है। अगर तत्व इनपुट के समान नहीं है तो फिर पुन: एक और तुलना करके पता लगाया जाता है कि इनपुट तत्व से छोटा है या तत्व से अधिक है। यदि इनपुट सारणी के भीतर स्थित नहीं है तो यह एल्गोरिथ्म आम तौर पर एक अद्वितीय मान दर्शाती है। द्विआधारी खोज एल्गोरिथ्म आमतौर पर संख्या की तुलना, सारणी को आधा करके उसके तत्वो से करती है। इस प्रकार दिए गए तत्व का पता लगाने मे लघुगणक समय लगता है। एक द्विआधारी खोज एक विभाजित और विजय खोज एल्गोरिथ्म है।
BinarySearch(A[0..N-1], value, low, high) {
if (high < low)
return -1 // not found
mid = low + ((high - low) / 2)
if (A[mid] > value)
return BinarySearch(A, value, low, mid-1)
else if (A[mid] < value)
return BinarySearch(A, value, mid+1, high)
else
return mid // found
}