पैथोलॉजिकल सॉर्टिंग
आपके बॉस ने मांग की है कि आप अपनी कंपनी के एप्लिकेशन के प्रदर्शन को बेहतर बनाने के लिए एक छँटाई एल्गोरिथ्म विकसित करें। हालाँकि, एप्लिकेशन लिखे जाने के बाद, आप जानते हैं कि आप इसे काफी तेज बनाने में सक्षम होने की संभावना नहीं रखते हैं। अपने बॉस को निराश नहीं करना चाहते हैं, आपने एक नया एल्गोरिदम विकसित करने का फैसला किया है जो डेटा के कुछ निश्चित सेटों पर * से भी बेहतर काम करता है। बेशक, आप यह स्पष्ट नहीं कर सकते कि एल्गोरिथम केवल कुछ मामलों पर काम करता है, इसलिए आप इसे यथासंभव अस्पष्ट बनाना चाहते हैं।
इस प्रतियोगिता का उद्देश्य आपकी पसंद की भाषा में एक छँटाई दिनचर्या लिखना है जो दोहराए गए परिणामों के साथ, दूसरों की तुलना में डेटा के कुछ निश्चित सेटों पर बेहतर प्रदर्शन करता है। अधिक विशिष्ट वर्गीकरण जो गति निर्धारित करता है, उतना ही बेहतर है। एल्गोरिथ्म को किसी प्रकार की छँटाई करनी चाहिए, इसलिए एक एल्गोरिथ्म जो पहले से ही पूरी तरह से सॉर्ट किए जा रहे डेटा पर निर्भर करता है (जैसे, एक एल्गोरिथ्म जो कुछ भी नहीं करता है), या एक एल्गोरिथ्म जो डेटा को पूरी तरह से रिवर्स में सॉर्ट किए जाने पर निर्भर करता है, दोनों अमान्य हैं। सॉर्टिंग एल्गोरिथ्म को डेटा के किसी भी सेट को सही ढंग से सॉर्ट करना होगा।
अपनी दिनचर्या को प्रस्तुत करने के बाद, कृपया इस बात का स्पष्टीकरण शामिल करें कि यह केवल डेटा के कुछ सेटों पर क्यों काम करता है, और इसमें कम से कम एक सेट अच्छे (तेज़) डेटा और खराब (धीमे) डेटा के एक सेट पर परीक्षण रन शामिल हैं। यहाँ बिंदु आपके बॉस को यह साबित करने में सक्षम है कि आप छँटाई करने के लिए बेहतर तरीके से लड़ रहे हैं, इसलिए अधिक परीक्षण डेटा बेहतर है। बेशक, आप केवल अपने बॉस को अच्छे डेटा से परीक्षा परिणाम दिखाने जा रहे हैं, इसलिए आवश्यक परीक्षण डेटा में दोष बहुत स्पष्ट नहीं हो सकता है। यदि आपकी भाषा पर लागू होता है, तो कृपया यह दिखाएं कि आपका एल्गोरिथ्म आपकी भाषा की अंतर्निहित छँटाई एल्गोरिथम से अधिक तेज़ है।
उदाहरण के लिए, कोई एक प्रविष्टि सॉर्ट एल्गोरिथ्म सबमिट कर सकता है, जिसमें अच्छा डेटा डेटा है जो पहले से ही लगभग सॉर्ट किया गया है, और खराब डेटा पूरी तरह से यादृच्छिक डेटा है, क्योंकि प्रविष्टि सॉर्ट लगभग-सॉर्ट किए गए डेटा पर O (n) से संपर्क करता है। हालाँकि, यह बहुत अच्छा नहीं है, क्योंकि मेरे बॉस शायद यह नोटिस करेंगे कि परीक्षण के सभी डेटा को लगभग शुरू करने के लिए क्रमबद्ध किया गया है।
यह एक लोकप्रियता-प्रतियोगिता है , इसलिए 7 दिन (21 मई) के बाद सबसे अधिक वोटों के साथ जवाब मिला।
अगर कोई मुझे नहीं मारता है, तो मैं एक समुदाय विकी उत्तर प्रस्तुत करना चाहता हूं जो समान रूप से वितरित डेटा सेट का लाभ उठाता है।