स्पर्शोन्मुख विश्लेषण
यह शब्द इस धारणा के तहत एल्गोरिथ्म के प्रदर्शन के विश्लेषण को संदर्भित करता है कि एल्गोरिथ्म डेटा ( इनपुट ) पर संचालित होता है, आम आदमी के शब्दों में, "बहुत बड़ा है कि इसे बड़ा बनाने से निष्कर्ष नहीं बदलेगा"। हालांकि इनपुट के सटीक आकार निर्दिष्ट करने की आवश्यकता नहीं है, डेटा सेट में ही (हम केवल एक ऊपरी बाध्य जरूरत है) है निर्दिष्ट करने की।
ध्यान दें कि अब तक हमने केवल विश्लेषण की विधि के बारे में बात की है; हमने यह निर्दिष्ट नहीं किया है कि हम किस मात्रा का विश्लेषण कर रहे हैं (समय जटिलता? अंतरिक्ष जटिलता?), और न ही हमने निर्दिष्ट किया है कि हम किस मेट्रिक में रुचि रखते हैं (सबसे खराब स्थिति? सर्वश्रेष्ठ स्थिति? औसत?)।
व्यवहार में एसिम्प्टोटिक विश्लेषण आमतौर पर एक एल्गोरिथ्म के ऊपरी बाध्य समय जटिलता को संदर्भित करता है , अर्थात कुल चल रहे समय द्वारा मापा गया सबसे खराब स्थिति प्रदर्शन, जिसे बड़े-ओह संकेतन द्वारा दर्शाया जाता है (जैसे एक सॉर्टिंग एल्गोरिदम हो सकता है O(nlogn)
)।
परिशोधित विश्लेषण
यह शब्द एल्गोरिदम के प्रदर्शन के विश्लेषण को संदर्भित करता है जो एक विशेष अनुक्रम के संचालन पर आधारित है जो सबसे खराब स्थिति को लक्षित करता है - अर्थात्, परिशोधित विश्लेषण का अर्थ है कि मीट्रिक सबसे खराब स्थिति प्रदर्शन है (हालांकि यह अभी भी यह नहीं कहता है कि किस मात्रा को मापा जा रहा है )। इस विश्लेषण को करने के लिए, हमें इनपुट के आकार को निर्दिष्ट करने की आवश्यकता है , लेकिन हमें इसके रूप के बारे में कोई धारणा बनाने की आवश्यकता नहीं है।
आम आदमी की शर्तों में, परिशोधन विश्लेषण इनपुट के लिए एक मनमाना आकार चुन रहा है और फिर एल्गोरिथ्म के माध्यम से "खेल रहा है"। जब भी कोई निर्णय जो इनपुट पर निर्भर करता है, बनाया जाना चाहिए, सबसे खराब रास्ता लिया जाता है। एल्गोरिथ्म पूरा होने के बाद हम अंतिम परिणाम उत्पन्न करने के लिए इनपुट के आकार से गणना की गई जटिलता को विभाजित करते हैं।
¹note: सटीक होने के लिए, सबसे खराब रास्ता जो सैद्धांतिक रूप से संभव है । यदि आपके पास एक वेक्टर है जो गतिशील रूप से हर बार आकार में दोगुना हो जाता है, तो इसकी क्षमता समाप्त हो जाती है, "सबसे खराब स्थिति" का मतलब यह नहीं है कि इसे हर प्रविष्टि पर दोगुना करने की आवश्यकता होगी क्योंकि सम्मिलन को एक अनुक्रम के रूप में संसाधित किया जाता है। हमें अनुमति दी जाती है (और वास्तव में) ज्ञात अवस्था का उपयोग गणितीय रूप से कई "और भी बदतर" मामलों को खत्म करने के लिए किया जा सकता है, जैसा कि इनपुट अज्ञात रहते हुए भी हम कर सकते हैं।
सबसे महत्वपूर्ण अंतर
स्पर्शोन्मुख और परिशोधित विश्लेषण के बीच महत्वपूर्ण अंतर यह है कि पूर्व इनपुट पर निर्भर है, जबकि बाद वाला संचालन एल्गोरिदम निष्पादित करेगा के अनुक्रम पर निर्भर है।
इसलिए:
- स्पर्शोन्मुख विश्लेषण हमें यह पुष्टि करने की अनुमति देता है कि एल्गोरिथ्म की जटिलता जब एन के पास आकार का सबसे अच्छा / सबसे खराब / औसत केस इनपुट दिया जाता है, तो यह किसी फ़ंक्शन एफ (एन) से घिरा होता है - जहां एन एक चर है
- परिशोधन विश्लेषण हमें यह पुष्टि करने की अनुमति देता है कि एल्गोरिथ्म की जटिलता जब इसे अज्ञात विशेषताओं का एक इनपुट दिया जाता है, लेकिन ज्ञात आकार N एक फ़ंक्शन F (N) के मान से बदतर नहीं है - जहां N एक ज्ञात मान है