टाइम और स्पेस कंप्लेक्सिटी का अध्ययन

Sep 24, 2024

टाइम और स्पेस कंप्लेक्सिटी का लेक्शन

परिचय

  • लेक्शन में टाइम और स्पेस कंप्लेक्सिटी पर चर्चा की गई।
  • आईटरेटिव प्रोग्रामिंग का संक्षिप्त अवलोकन।
  • होमवर्क में पिछले 10 दिन के रिकर्जन चैलेंज के सवालों का समाधान किया जाएगा।

लीनियर सर्च

  • लीनियर सर्च का कोड:

    for(int i = 0; i < n; i++) {
        if(arr[i] == value) {
            return true;
        }
    }
    return false;
    
  • टाइम कंप्लेक्सिटी: O(n)

    • यहाँ n एरे का साइज है।
  • स्पेस कंप्लेक्सिटी: O(1)

    • केवल इनपुट के लिए मेट्रिक्स का उपयोग।

रिकर्जन

फैक्टोरियल

  • फैक्टोरियल का कोड:
    int factorial(int n) {
        if(n == 0) return 1;
        return n * factorial(n - 1);
    }
    
  • टाइम कंप्लेक्सिटी: O(n)
    • प्रत्येक कॉल के लिए एक समीकरण बनाना।
  • स्पेस कंप्लेक्सिटी: O(n)
    • रिकर्जन स्टैक के लिए।

बाइनरी सर्च

  • बाइनरी सर्च का कोड:
    int binarySearch(arr, l, r, x) {
        if(r >= l) {
            int mid = l + (r - l) / 2;
            if(arr[mid] == x) return mid;
            if(arr[mid] > x) return binarySearch(arr, l, mid - 1, x);
            return binarySearch(arr, mid + 1, r, x);
        }
        return -1;
    }
    
  • टाइम कंप्लेक्सिटी: O(log n)
  • स्पेस कंप्लेक्सिटी: O(log n)

मर्ज सॉर्ट

  • मर्ज सॉर्ट का कोड:
    void mergeSort(int arr[], int l, int r) {
        if(l < r) {
            int m = l + (r - l) / 2;
            mergeSort(arr, l, m);
            mergeSort(arr, m + 1, r);
            merge(arr, l, m, r);
        }
    }
    
  • टाइम कंप्लेक्सिटी: O(n log n)
  • स्पेस कंप्लेक्सिटी: O(n)

फिबोनाकी सीरीज

  • फिबोनाकी का कोड:
    int fib(int n) {
        if(n <= 1) return n;
        return fib(n - 1) + fib(n - 2);
    }
    
  • टाइम कंप्लेक्सिटी: O(2^n)
  • स्पेस कंप्लेक्सिटी: O(n)

निष्कर्ष

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