आपके दोनों स्रोत के "सबसे खराब स्थिति वाले चल रहे समय" का उल्लेख करते हैं । मैं यह अनुमान लगा रहा हूं कि यह अपेक्षित समय की आवश्यकता को दर्शाता है, जो कि सबसे खराब स्थिति से अलग है।O(nlogn).
Quicksort में आमतौर पर पूर्ण रूप से सबसे खराब स्थिति की आवश्यकता होती है । सबसे खराब स्थिति तब होती है, जब हर चरण पर, विभाजन प्रक्रिया एक n -length सरणी को आकार 1 और n - 1 के सरणियों में विभाजित करती है । धुरी तत्वों के इस "अशुभ" चयन के लिए ओ ( एन ) पुनरावर्ती कॉल की आवश्यकता होती है , जिससे ओ ( एन 2 ) सबसे खराब स्थिति में होता है।O(n2)n1n−1O(n)O(n2)
छांटने से पहले सरणी को बेतरतीब ढंग से या बेतरतीब ढंग से फेरबदल करने का चयन करना सबसे खराब स्थिति को प्रस्तुत करने का प्रभाव पड़ता है, विशेष रूप से बड़े सरणियों के लिए। विकिपीडिया को इस प्रमाण के लिए देखें कि अपेक्षित समय की आवश्यकता । एक अन्य सूत्र के अनुसार , "आपके कंप्यूटर पर एक बड़े सरणी को सॉर्ट करते समय क्विकॉर्ट्स क्वैडैटिक संख्या की तुलना का उपयोग करेगा, संभावना है कि आपके कंप्यूटर को बिजली से मारा जाएगा।"O(nlogn)
संपादित करें:
बैंगये की टिप्पणी के अनुसार, आप सबसे खराब स्थिति धुरी चयन क्रम को हमेशा धुरी के रूप में मध्य तत्व का चयन करके समाप्त कर सकते हैं। चूंकि माध्यिका को समय लगता है, इससे Θ ( n log n ) सबसे खराब स्थिति वाला प्रदर्शन होता है। हालांकि, चूंकि रैंडमाइज्ड क्विकॉर्टॉर्ट सबसे खराब स्थिति में ठोकर खाने की संभावना नहीं है, इसलिए क्विकॉर्ट्स के नियतात्मक मध्ययुगीन-खोज वैरिएंट का उपयोग शायद ही कभी किया जाता है।O(n)Θ(nlogn)