बाइनरी खोज पद्धति केवल क्रमबद्ध सूची पर लागू की जा सकती है। दी गई सूची को दो बराबर भागों में बांटा गया है। सूची में, कुंजी की तुलना मध्य तत्व से की जाती है।
बाइनरी सर्च में तीन स्थितियां हो सकती हैं जो इस प्रकार हैं -
-
यदि मध्य तत्व कुंजी से मेल खाता है, तो खोज यहाँ सफलतापूर्वक समाप्त हो जाएगी
-
यदि मध्य तत्व कुंजी से बड़ा है, तो खोज बाएं विभाजन में आगे बढ़ेगी
-
यदि मध्य तत्व कुंजी से कम है, तो खोज सही विभाजन में आगे बढ़ेगी।
इनपुट (i/p)
तत्वों की क्रमबद्ध सूची, कुंजी।
आउटपुट (ओ/पी)
- सफलता - यदि कुंजी मिल जाती है।
- असफल - अन्यथा।
उदाहरण
बाइनरी सर्च मेथड के लिए सी प्रोग्राम निम्नलिखित है -
#include<stdio.h> int main(){ int a[50], n, i, key, flag = 0, low, mid, high; printf("enter the no: of elements:"); scanf ("%d",&n); printf("enter the elements:"); for(i=0; i<n; i++) scanf( "%d", &a[i]); printf("enter a key element:"); scanf ("%d", &key); low = 0; high = n-1; while (low<= high ){ mid = (low + high) /2; if (a[mid] == key){ flag = 1; break; } else { if (a[mid] > key) high = mid-1; else low = mid+1; } } if (flag == 1) printf ("search is successful"); else printf("search is unsuccessful"); return 0; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
enter the no: of elements:5 enter the elements:23 45 57 89 90 enter a key element:45 search is successful