क्या Quicksort में हमेशा द्विघात रनटाइम होता है यदि आप धुरी के रूप में अधिकतम तत्व चुनते हैं?


9

यदि आपके पास एक त्वरित-सॉर्ट एल्गोरिथ्म है, और आप हमेशा अपनी धुरी के रूप में सबसे छोटे (या सबसे बड़े) तत्व का चयन करते हैं; क्या मैं यह मानने के लिए सही हूं कि यदि आप पहले से ही सॉर्ट किए गए डेटा सेट प्रदान करते हैं, तो आपको हमेशा सबसे खराब स्थिति में प्रदर्शन मिलेगा चाहे आपकी 'पहले से सॉर्ट की गई' सूची आरोही या अवरोही क्रम में हो?

मेरी सोच यह है कि, यदि आप हमेशा अपनी धुरी के लिए सबसे छोटा तत्व चुनते हैं, तो क्या आपके 'पहले से छंटे हुए' इनपुट को आरोही द्वारा अवरूद्ध किया जाता है या अवरोही से कोई फर्क नहीं पड़ता, क्योंकि आपकी धुरी के सापेक्ष क्रमबद्ध किया जाने वाला सबसेट हमेशा हमेशा रहेगा। एक माप?


2
आपकी सोच सही है, लेकिन आप सीधे बहस भी कर सकते हैं और इस मामले में क्विकॉर्ट के समय की गणना कर सकते हैं - आपको मिलेगा । O(n2)
युवल फिल्मस

जवाबों:


15

क्विकॉर्ट के लिए सबसे खराब स्थिति जटिलता । यह सेट को विभाजित करने वाले पिवोट्स द्वारा प्राप्त किया जाता है, जैसे कि एक समूह में केवल एक ही सदस्य होता है। खराब पिवट पिकिंग एल्गोरिथ्म के साथ, यह एक हल किए गए सेट के एक छोर को उठाकर आसानी से प्राप्त किया जा सकता है। आपकी धारणा सही है।Θ(n2)


2
इसे लिखना बेहतर था: "... यह सेट को विभाजित करने वाले

@ सईद अमीरी: यह सही है, लेकिन सटीक होना बेहतर है।
एमएमएस

1
@ सईदअमीरि: ओ (1) इंगित करता है कि यह 1 के आनुपातिक है, जिसका अर्थ है कि यह के * 1 हो सकता है। वास्तविक सबसे खराब स्थिति तब प्राप्त होती है जब यह ठीक है 1. मैं आपको यह अनुदान दूंगा कि O (1) अभी भी O (n ^ 2) हो सकता है।
वालिड़ी

@ एमएमएस, मैंने लिखा है हे(1) सटीक होने के लिए, वरीरी आपने लिखा: "क्विकॉर्ट के लिए सबसे खराब स्थिति जटिलता है Θ(n2) .. ”, लेकिन वास्तव में प्राप्त करने का एकमात्र तरीका है Θ(n2) जिस तरह से आपने कहा था, हाँ, जिस तरह से आपने वर्णित किया है वह सभी में सबसे खराब स्थिति है, लेकिन केवल यही नहीं है Θ(n2)

5

हाँ! आप बिल्कुल सही सोच रहे हैं! और जैसा कि युवल फिल्मस ने सही बताया है, रनिंग टाइम होगा Θ(n2)


3

एक सबर्रे होगा 0 या 1 तत्व जबकि दूसरे के पास होगा (n1)तत्वों; इसलिए यह हैO(n2):

t(n)=t(n1)+t(0)+O(n)=O(n2)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.