द्विआधारी खोज प्रणाली

मुक्त ज्ञानकोश विकिपीडिया से
imported>InternetArchiveBot द्वारा परिवर्तित ०१:२०, १५ जून २०२० का अवतरण (Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.1)
(अन्तर) ← पुराना अवतरण | वर्तमान अवतरण (अन्तर) | नया अवतरण → (अन्तर)
नेविगेशन पर जाएँ खोज पर जाएँ

द्विआधारी खोज प्रणाली (साँचा:lang-en) हल सारणी में किसी आइटम की स्थिति ढूंढती है। द्विआधारी खोज  तत्व सारणी के लिए एक इनपुट मूल्य की तुलना करके काम करता है। तुलना से यह निर्धारित होता  है कि इनपुट तत्व से कम या अधिक है। जब इनपुट, तत्व के बराबर हो जाता है तब खोज बंद हो जाती है और तत्व की स्थिति देता है। अगर तत्व इनपुट के समान नहीं है तो फिर पुन: एक और  तुलना करके पता लगाया जाता है कि इनपुट तत्व से छोटा है या तत्व से अधिक है। यदि इनपुट सारणी के भीतर स्थित नहीं है तो यह एल्गोरिथ्म आम तौर पर एक अद्वितीय मान दर्शाती है। द्विआधारी खोज एल्गोरिथ्म आमतौर पर संख्या की तुलना, सारणी को आधा करके उसके तत्वो से करती है। इस प्रकार दिए गए तत्व का पता लगाने मे लघुगणक समय लगता है। एक द्विआधारी खोज एक विभाजित और विजय खोज एल्गोरिथ्म है।

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
 }

बाहरी कड़ियाँ