हीप सॉर्ट सरणी से एक बाइनरी हीप बनाता है, फिर क्रमबद्ध क्रम प्राप्त करने के लिए अधिकतम को बार-बार निकालता है। यह O(n log n) में चलता है और in-place है।
विचार
एक max-heap मूल पर सबसे बड़े तत्व को रखता है। हीप बनाएं (O(n)), फिर मूल को अंत में स्वैप करें, हीप को सिकोड़ें, और पुनः-हीपिफाई (sift down) करें — n बार।
उदाहरण
heapq
():
heapq.heapify(arr)
[heapq.heappop(arr)
_ ((arr))]
heap_sort([, , , , ])
