Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

विशिष्ट खोज अनुक्रम के लिए बाइनरी सर्च एल्गोरिदम लागू करने के लिए C++ प्रोग्राम


इस प्रोग्राम में हमें सरणी में खोज अनुक्रम के अस्तित्व को खोजने के लिए बाइनरी सर्च लागू करने की आवश्यकता है। बाइनरी सर्च की समय जटिलता O(log n) है।

आवश्यक चरण और छद्म कोड

शुरुआत    BinarySearch() फ़ंक्शन में 'arr' डेटा की सरणी और 'n' मानों की संख्या, प्रारंभ और अंत इंडेक्स, इटरेशन काउंट और b[0] खोजे जाने वाले एलिमेंट आर्गुमेंट सूची में होते हैं।    इटरेशन काउंटर बढ़ाएं और आइटम मान की तुलना a[mid] से करें।    यदि आइटम < a[mid] तो पहला आधा चुनें अन्यथा आगे बढ़ने के लिए दूसरा आधा चुनें।    इंडेक्स मान को मेन पर लौटाएं।    मेन() में, खोज अनुक्रम के शेष आइटम्स की तुलना सरणी में अगले आइटम्स से क्रमिक रूप से करें।    मिले अनुक्रम की इंडेक्स रेंज प्रिंट करें। अंत।

उदाहरण कोड

#include<iostream> using namespace std; int BinarySearch(int a[], int start, int end, int item, int iter) {    int i, mid;    iter++;    mid = start+ (end-start+1)/2;    if(item > a[end] || item < a[start] || mid == end) {       cout<<"\nनहीं मिला";       return -1;    } else if(item == a[mid]) {       return mid;    } else if(item == a[start]) {       return start;    } else if(item == a[end]) {       return end;    } else if(item > a[mid])       BinarySearch(a, mid, end, item, iter);       else          BinarySearch(a, start, mid, item, iter);    } int main() {    int n, i, flag=0, Bin, len = 9, a[10]={1, 7, 15, 26, 29, 35, 38, 40, 49, 51};    cout<<"\nखोज अनुक्रम में एलिमेंट की संख्या दर्ज करें: ";    cin>>n;    int b[n];    for(i = 0; i < n; i++) {       cin>>b[i];    }    Bin = BinarySearch(a, 0, len, b[0], 0);    if (Bin == -1) {       cout<<"\nनहीं मिला।";       return 0;    } else {       for(i = Bin; i < n+Bin; i++)          if(a[i] != b[i-Bin])             flag = 4;             if(flag == 4)                cout<<"\nनहीं मिला।";             else                cout<<"\nअनुक्रम इंडेक्स "<<Bin<<" और "<<Bin+n<<" के बीच मिला।";    }    return 0; }

आउटपुट

खोज अनुक्रम में एलिमेंट की संख्या दर्ज करें: 4 15 26 29 35 अनुक्रम इंडेक्स 2 और 6 के बीच मिला।

  1. C++ में बाइनरी खोज प्रोग्राम C++ में बाइनरी खोज प्रोग्राम

    बाइनरी खोज क्या है? बाइनरी खोज (आधा-अंतराल खोज) एक खोज एल्गोरिदम है जो क्रमबद्ध सरणी में लक्ष्य मान की स्थिति ढूंढता है। यह लक्ष्य मान की तुलना मध्य तत्व से करता है और खोज स्थान को आधा कर देता है। मुख्य बिंदु केवल क्रमबद्ध सरणी पर काम करता है समय जटिलता: O(log n) दुनिया के सभी नाम क्रमबद्ध हों तो

  1. - विशिष्ट खोज अनुक्रम के लिए बाइनरी सर्च एल्गोरिदम लागू करने के लिए C++ प्रोग्राम

    इस प्रोग्राम में हमें सरणी में खोज अनुक्रम के अस्तित्व को खोजने के लिए बाइनरी सर्च लागू करने की आवश्यकता है। बाइनरी सर्च की समय जटिलता O(log n) है। आवश्यक चरण और छद्म कोड शुरुआत    BinarySearch() फ़ंक्शन में arr डेटा की सरणी और n मानों की संख्या, प्रारंभ और अंत इंडेक्स, इटरेशन काउंट और b[0

  1. - C++ प्रोग्राम: फिशर-येट्स एल्गोरिदम से ऐरे शफलिंग

    फिशर-येट्स एल्गोरिदम फिशर-येट्स एल्गोरिदम ऐरे तत्वों का यादृच्छिक क्रमपरिवर्तन उत्पन्न करता है, यानी यह ऐरे के सभी तत्वों को निष्पक्ष रूप से शफल करता है। सभी क्रमपरिवर्तन समान रूप से संभावित होते हैं। C++ प्रोग्राम उदाहरण #include <iostream> #include <cstdlib> #include <ctime> us