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

एसिम्प्टोटिक कॉम्प्लेक्सिटी (आशय जटिलता)


एसिम्प्टोटिक एनालिसिस

एसिम्प्टोटिक विश्लेषण का उपयोग करके, हम इनपुट आकार के आधार पर एल्गोरिदम के प्रदर्शन के बारे में एक विचार प्राप्त कर सकते हैं। हमें सटीक रनिंग टाइम की गणना नहीं करनी चाहिए, बल्कि रनिंग टाइम और इनपुट आकार के बीच संबंध ढूंढना चाहिए। हमें रनिंग टाइम का पालन करना चाहिए जब इनपुट का आकार बढ़ता है।

स्पेस कॉम्प्लेक्सिटी के लिए, हमारा लक्ष्य उस संबंध या फंक्शन को प्राप्त करना है कि एल्गोरिदम को पूरा करने के लिए मुख्य मेमोरी में कितना स्थान घेरता है।

एसिम्प्टोटिक व्यवहार

एक फंक्शन f(n) के लिए एसिम्प्टोटिक व्यवहार f(n) की वृद्धि है जब n बड़ा होता है। छोटे इनपुट मानों पर विचार नहीं किया जाता। हमारा कार्य यह पता लगाना है कि बड़े इनपुट मान के लिए कितना समय लगेगा।

उदाहरण के लिए, f(n) = c * n + k रैखिक समय जटिलता के रूप में। f(n) = c * n² + k द्विघात समय जटिलता है।

एल्गोरिदम का विश्लेषण तीन अलग-अलग मामलों में विभाजित किया जा सकता है। मामले निम्नानुसार हैं -

बेस्ट केस − यहां रनिंग टाइम की निचली सीमा की गणना की जाती है। यह इष्टतम स्थितियों में एक एल्गोरिदम के व्यवहार का वर्णन करता है।

एवरेज केस − इस मामले में हम एल्गोरिदम के रनिंग टाइम की ऊपरी और निचली सीमा के बीच के क्षेत्र की गणना करते हैं। इस मामले में निष्पादित ऑपरेशन की संख्या न तो न्यूनतम है और न ही अधिकतम।

वर्स्ट केस − इस मामले में हम एल्गोरिदम के रनिंग टाइम की ऊपरी सीमा की गणना करते हैं। इस मामले में अधिकतम संख्या में ऑपरेशन निष्पादित होते हैं।

एसिम्प्टोटिक कॉम्प्लेक्सिटी (आशय जटिलता)

  1. डेटा स्ट्रक्चर में एमोर्टाइज़्ड समय जटिलता डेटा स्ट्रक्चर में एमोर्टाइज़्ड समय जटिलता

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

  1. Python में वेक्टोराइज़ेशन Python में वेक्टोराइज़ेशन

    इस लेख में, हम वेक्टोराइज़ेशन और Python 3.x या उससे पहले के संस्करणों में कार्यान्वयन में शामिल विभिन्न तकनीकों के बारे में सीखेंगे।वेक्टोराइज़ेशन क्या है?वेक्टोराइज़ेशन लूप के उपयोग के बिना सरणियों को लागू करने की एक तकनीक है। एक फ़ंक्शन का उपयोग करने से कोड के रनिंग टाइम और एक्ज़ीक्यूशन टाइम को कु

  1. टाइम कॉम्प्लेक्सिटी में महारत: रूबी डेवलपर्स के लिए एक व्यापक गाइड टाइम कॉम्प्लेक्सिटी में महारत: रूबी डेवलपर्स के लिए एक व्यापक गाइड

    टाइम कॉम्प्लेक्सिटी कंप्यूटर साइंस से सीखने वाली सबसे दिलचस्प अवधारणाओं में से एक है, और इसे समझने के लिए आपको डिग्री की आवश्यकता नहीं है! यह दिलचस्प है क्योंकि यह आपको यह देखने में मदद करता है कि कोई विशेष एल्गोरिदम या प्रोग्राम धीमा क्यों हो सकता है और आप इसे तेज़ बनाने के लिए क्या कर सकते हैं। आप