Quicksort एक व्यापक रूप से इस्तेमाल किया जाने वाला क्रमबद्ध एल्गोरिथ्म है जो इसकी दक्षता के लिए जाना जाता है। इसके प्रदर्शन को समझना में निष्पादन के दौरान तुलना और स्वैप की अपेक्षित संख्या का विश्लेषण करना शामिल है। यह लेख इन उम्मीदों के पीछे गणितीय सिद्धांतों की पड़ताल करता है, जो क्विकसोर्ट के प्रोबिलिस्ट विश्लेषण पर ध्यान केंद्रित करता है।

तुलना की अनुमानित संख्या

Quicksort में तुलना की उम्मीद संख्या pivot और विभाजन प्रक्रिया की पसंद पर निर्भर करती है। सभी permutations की गणना समान रूप से होने की संभावना है, औसत मामले का विश्लेषण कर सकते हैं पुनरावर्ती समीकरणों का उपयोग। आकार की एक सरणी के लिए n, अपेक्षित तुलना, C(n)]]] के रूप में वर्णित, पुनरावृत्ति को संतुष्ट करें:

C(n) = n - 1 + frac{1}{n} sum {k=0}^{n-1} [C(k) + C(n - 1 - k)]]

यह पुनरावृत्ति एक अच्छी तरह से ज्ञात परिणाम को सरल बनाती है: C(n) ≈ 2n ln n] बड़े n]]] के लिए। इस विचलन में सभी संभावित धुरी पदों पर योग करना और हार्मोनिक संख्या के गुणों को लागू करना शामिल है।

अपेक्षित स्वाप संख्या

Quicksort में स्वैप विभाजन प्रक्रिया के दौरान होते हैं। प्रत्याशित स्वैपों की संख्या तुलना की तुलना और धुरी विकल्पों के वितरण से संबंधित है। समान यादृच्छिकता के तहत, अपेक्षित स्वैप, S(n) के रूप में वर्णित, विभाजन चरणों का विश्लेषण करके अनुमानित किया जा सकता है।

प्रत्येक विभाजन चरण में धुरी के सही स्थान को सुनिश्चित करने के लिए तत्वों को स्वैप करना शामिल है। प्रति विभाजन अपेक्षित स्वैप उपरे के आकार के बराबर हैं। सभी आवर्ती कॉलों पर समीकरण एक अनुमान पैदा करता है: S(n) ≈ n ln n].

Expectation का सारांश

  • Comparison:]]: ]n]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
  • Swaps:]n]]n]].
  • दोनों मीट्रिकों ने लॉरथैमिक रूप से सरणी आकार के साथ विकसित किया है, जो क्विकसोर्ट की दक्षता को दर्शाता है।