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

C++ में बाइनरी इंसर्शन सॉर्ट


बाइनरी इंसर्शन सॉर्ट इंसर्शन सॉर्ट का एक विशेष प्रकार है जो ऐरे में डाले गए एलिमेंट की सही स्थिति खोजने के लिए बाइनरी सर्च एल्गोरिदम का उपयोग करता है।

इंसर्शन सॉर्ट एक सॉर्टिंग तकनीक है जो ऐरे में एलिमेंट की सही स्थिति ढूंढकर और फिर उसे उसकी सही स्थिति में डालकर काम करती है।

बाइनरी सर्च एक खोज तकनीक है जो एलिमेंट को खोजने के लिए ऐरे के मध्य को ढूंढकर काम करती है।

चूंकि बाइनरी सर्च की जटिलता लॉगरिदमिक क्रम की होती है, खोज एल्गोरिदम की समय जटिलता भी लॉगरिदमिक क्रम तक घट जाएगी।

बाइनरी इंसर्शन सॉर्ट का कार्यान्वयन। यह प्रोग्राम एक साधारण इंसर्शन सॉर्ट प्रोग्राम है लेकिन मानक खोज तकनीक के बजाय बाइनरी सर्च का उपयोग किया जाता है।

उदाहरण

#include <iostream> 
using namespace std; 

int binarySearch(int arr[], int item, int low, int high) { 
    if (high <= low) 
        return (item > arr[low]) ? (low + 1) : low; 
    int mid = (low + high) / 2; 
    if (item == arr[mid]) 
        return mid + 1; 
    if (item > arr[mid]) 
        return binarySearch(arr, item, mid + 1, high); 
    return binarySearch(arr, item, low, mid - 1); 
} 

void BinaryInsertionSort(int arr[], int n) { 
    int i, loc, j, k, selected; 
    for (i = 1; i < n; ++i) { 
        j = i - 1; 
        selected = arr[i]; 
        loc = binarySearch(arr, selected, 0, j); 
        while (j >= loc) { 
            arr[j + 1] = arr[j]; 
            j--; 
        } 
        arr[j + 1] = selected; 
    } 
} 

int main() { 
    int arr[] = {12, 56, 1, 67, 45, 8, 82, 16, 63, 23}; 
    int n = sizeof(arr) / sizeof(arr[0]), i; 
    BinaryInsertionSort(arr, n); 
    cout << "Sorted array is: \n"; 
    for (i = 0; i < n; i++) 
        cout << arr[i] << "\t"; 
    return 0; 
}

आउटपुट

Sorted array is: 
1 8 12 16 23 45 56 63 67 82

  1. - C++ प्रोग्राम: सिलेक्शन सॉर्ट लागू करना

    सिलेक्शन सॉर्ट तकनीक में, सूची को दो भागों में विभाजित किया जाता है। एक भाग में सभी तत्व क्रमबद्ध होते हैं और दूसरे भाग में आइटम असॉर्टेड होते हैं। पहले हम सरणी से अधिकतम या न्यूनतम डेटा लेते हैं। डेटा प्राप्त करने के बाद (मान लें न्यूनतम) हम इसे पहले स्थान के डेटा को न्यूनतम डेटा से बदलकर सूची की

  1. - C++ में बाइनरी सर्च

    बाइनरी सर्च क्रमबद्ध ऐरे में तत्व खोजने की कुशल विधि। ऐरे को बार-बार आधा करके खोज अंतराल कम किया जाता है। समय जटिलता: O(log n)। एल्गोरिदम पूरे ऐरे से शुरू करें मध्य तत्व जांचें यदि लक्ष्य मध्य से बड़ा: ऊपरी आधा खोजें यदि लक्ष्य मध्य से छोटा: निचला आधा खोजें दोहराएं जब तक मिल न जाए या ऐरे खाली न ह

  1. - बाइनरी इंसर्शन सॉर्ट के लिए जावा प्रोग्राम

    बाइनरी इंसर्शन सॉर्ट हर पुनरावृति पर एक विशिष्ट इंडेक्स पर एक एलिमेंट डालने के लिए सही स्थिति खोजने के लिए बाइनरी सर्च का उपयोग करता है। पहले, वह स्थान ढूंढा जाता है जहां एलिमेंट डाला जाना है। फिर, एलिमेंट्स को अगले राइट स्थान पर शिफ्ट किया जाता है। अब, विशिष्ट एलिमेंट को स्थिति में रखा जाता है। बा