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

स्पर्शोन्मुख जटिलता

<घंटा/>

एसिम्प्टोटिक विश्लेषण

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

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

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

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

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

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

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

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

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

स्पर्शोन्मुख जटिलता


  1. डेटा संरचनाओं में परिशोधित समय जटिलता

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

  1. पायथन में वैश्वीकरण

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

  1. रूबी डेवलपर्स के लिए समय की जटिलता के लिए निश्चित गाइड

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