c++ - Where do I find a comparison of different STL containers complexity (performance)? -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 4 जवाब
मैं थोड़ी देर में googled सम्मिलित / पुश मिटा / पॉप इत्यादि पर सभी एसटीएल-कंटेनर्स के लिए जटिलता में मतभेद दिखाता है कि एक तुलना जानने के लिए। मुझे कोई नहीं मिला मेरे सभी एसटीएल पुस्तकों में भी नहीं कोई संकेत?
मैं निश्चित रूप से अंगूठे के कुछ नियमों को जानता हूं। लेकिन एक परिभाषा कहां है?
कोशिश करो
जटिलता html से:
मौलिक रूप से, एक अस्तिवर्ती मशीन मॉडल की बजाय वास्तविक कम्प्यूटर हार्डवेयर के लिए अस्मैटोटिक एल्गोरिथ्म जटिलता की धारणा को परिभाषित करना कठिन है। इस प्रकार हम निम्नलिखित दिशानिर्देशों के लिए व्यवस्थित होते हैं:
- समय ए (एफ (एनए)) चलाने के लिए ए एल्गोरिथ्म ए के लिए, एक संबंधित एल्गोरिथ्म ए होना चाहिए जो मशीनों पर मनमाने ढंग से लंबा पॉइंटर और साइज़_टी प्रकार, जैसे कि ए और ए 'असल में वास्तविक हार्डवेयर पर ऑपरेशंस के एक ही क्रम का प्रदर्शन करते हैं। (साधारण मामलों में ए और ए समान होगा। अन्य मामलों में ए को ज्ञान के साथ सरलीकृत किया गया हो सकता है कि विज्ञापन सीमाबद्ध हैं।) पर्याप्त बड़े आकार के इनपुट के लिए, 'ए' को अधिक समय सीएफ (एन) में रखना चाहिए, जहां सी एक स्थिर, दोनों एन और पते आकार से स्वतंत्र है। (पॉइंटर, साइज़_टी, और पीटीआरडीआईफ़_टी संचालन को उनके आकार से लगातार निरंतर समय लेने के लिए अनुमान लगाया जाता है।)
- सभी कंटेनर या इटरेटर जटिलता विनिर्देशों में परिशोधित जटिलता को देखें एक व्यक्ति के ऑपरेशन को निर्दिष्ट से अधिक समय लग सकता है। लेकिन एक ही कंटेनर या इटरेटर पर आपरेशनों के किसी भी पर्याप्त रूप से लंबे अनुक्रम निर्दिष्ट ऑपरेशन लागतों की समान राशि के रूप में अधिक से अधिक समय लगेगा।
- एल्गोरिदम या तो खराब-केस या औसत केस प्रदर्शन को निर्दिष्ट करते हैं, और यह पहचानते हैं कि । जब तक अन्यथा नहीं बताया जाता है, तब तक औसत मानते हैं कि कंटेनर तत्व कंटेनर के आकार की तुलना में अधिक संभव मानों के साथ परिमित प्रकार से चुना जाता है, और यह कंटेनर तत्वों को समान रूप से समान रूप से वितरित किया जाता है।
- ऑपरेशन एफ के लिए जटिलता विनिर्देश च द्वारा लागू की जाने वाली आपरेशनों को निर्दिष्ट करने के लिए सबसे अधिक निर्दिष्ट रनटाइम लेकिन एल्गोरिदम आम तौर पर उपयुक्त रहते हैं यदि अपेक्षित मामले में उल्लिखित संचालन किसी लॉगरिदमिक कारक से धीमी गति से अधिक नहीं है।
यदि ऑपरेशन मौजूदा एसटीएल में फ़ंक्शन F द्वारा ग्रहण से अधिक महंगा है, तो एफ अधिक लागत के अनुपात में धीमा हो जाएगा किसी भी भविष्य के आपरेशन जो इस संपत्ति को संतुष्ट करने में असफल रहते हैं, वह स्पष्ट कर देगा।
यह सटीक बनाने के लिए, एफ को आकार M के इनपुट के लिए समय एफ (मी) एफ इनपुट आकार n पर निर्दिष्ट चलने वाले समय gk (n) के साथ परिचालन जीके का उपयोग करता है। अगर एफ एक संदर्भ में प्रयोग किया जाता है जिसमें अधिकतम एक कारक h (n) से प्रत्येक जीक अपेक्षा से धीमी है, तो एफ सबसे ज्यादा कारक h (m) से धीमा पड़ता है। यह धारण करता है क्योंकि वर्तमान एल्गोरिदम में से कोई भी एम के तुलना में महत्वपूर्ण रूप से बड़ा इनपुट के लिए ऑपरेशन जीके को लागू नहीं करता है।
Comments
Post a Comment