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

परिशोधित जटिलता

<घंटा/>

परिशोधन विश्लेषण

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

हैश-टेबल में, अधिकांश समय खोज समय जटिलता ओ (1) है, लेकिन कभी-कभी यह ओ (एन) संचालन निष्पादित करता है। जब हम अधिकांश मामलों में हैश तालिका में किसी तत्व को खोजना या सम्मिलित करना चाहते हैं तो यह कार्य करने में निरंतर समय लगता है, लेकिन जब कोई टकराव होता है, तो उसे टकराव समाधान के लिए O(n) बार संचालन की आवश्यकता होती है।

एग्रीगेट मेथड

कुल लागत का पता लगाने के लिए समग्र विधि का उपयोग किया जाता है। यदि हम डेटा का एक गुच्छा जोड़ना चाहते हैं, तो हमें इस सूत्र द्वारा परिशोधित लागत का पता लगाना होगा।

n संचालन के अनुक्रम के लिए, लागत है -

परिशोधित जटिलता

परिशोधन विश्लेषण पर उदाहरण

एक गतिशील सरणी के लिए, ओ (1) समय में दिए गए इंडेक्स में आइटम डाले जा सकते हैं। लेकिन अगर वह अनुक्रमणिका सरणी में मौजूद नहीं है, तो यह कार्य को निरंतर समय में करने में विफल रहता है। उस स्थिति के लिए, यह शुरू में सरणी के आकार को दोगुना कर देता है, फिर यदि सूचकांक मौजूद है तो तत्व सम्मिलित करता है।

परिशोधित जटिलता

गतिशील सरणी के लिए, =सम्मिलन की लागत दें।

परिशोधित जटिलता


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

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

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

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

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

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