Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन हीप कतार एल्गोरिथ्म

हीप डेटा संरचनाओं का उपयोग प्राथमिकता कतार का प्रतिनिधित्व करने के लिए किया जा सकता है। पायथन में यह हेपैक मॉड्यूल में उपलब्ध है। यहां यह एक मिन-हीप बनाता है। इसलिए जब प्राथमिकता 1 होती है, तो यह सर्वोच्च प्राथमिकता का प्रतिनिधित्व करती है। जब नए तत्व डाले जाते हैं, तो हीप संरचना अपडेट हो जाती है।

इस मॉड्यूल का उपयोग करने के लिए, हमें इसका उपयोग करके आयात करना चाहिए -

import heapq

ढेर से संबंधित कुछ ऑपरेशन हैं। ये हैं -

विधि heapq.heapify(iterable)

इसका उपयोग एक चलने योग्य डेटासेट को डेटा संरचना को ढेर करने के लिए परिवर्तित करने के लिए किया जाता है।

विधि heapq.heappush(ढेर, तत्व)

इस विधि का उपयोग तत्व को ढेर में सम्मिलित करने के लिए किया जाता है। उसके बाद पूरे हीप स्ट्रक्चर को फिर से ढेर करें।

विधि heapq.heappop(ढेर)

इस विधि का उपयोग ढेर के ऊपर से तत्व को वापस करने और हटाने के लिए किया जाता है और बाकी तत्वों पर हीपाइफाई करने के लिए किया जाता है।

विधि heapq.heappushpop(ढेर, तत्व)

इस विधि का उपयोग एक कथन में तत्व डालने और पॉप करने के लिए किया जाता है..

विधि heapq.heapreplace(ढेर, तत्व)

इस विधि का उपयोग एक कथन में तत्व डालने और पॉप करने के लिए किया जाता है। यह तत्व को ढेर की जड़ से हटा देता है, फिर तत्व को ढेर में सम्मिलित करता है।

विधि heapq.nसबसे बड़ा(n, चलने योग्य, कुंजी=कोई नहीं)

इस विधि का उपयोग ढेर से n सबसे बड़े तत्व को वापस करने के लिए किया जाता है।

विधि heapq.nsmallest(n, iterable, key=None)

इस विधि का उपयोग ढेर से n सबसे छोटे तत्व को वापस करने के लिए किया जाता है।

उदाहरण कोड

import heapq
my_list = [58, 41, 12, 17, 89, 65, 23, 20, 10, 16, 17, 19]
heapq.heapify(my_list)
print(my_list)
heapq.heappush(my_list, 7)
print(my_list)
print('Popped Element: ' + str(heapq.heappop(my_list)))
print(my_list)
new_iter = list()
new_iter = heapq.nlargest(4, my_list)
print(new_iter)

आउटपुट

[10, 16, 12, 17, 17, 19, 23, 20, 41, 89, 58, 65]
[7, 16, 10, 17, 17, 12, 23, 20, 41, 89, 58, 65, 19]
Popped Element: 7
[10, 16, 12, 17, 17, 19, 23, 20, 41, 89, 58, 65]
[89, 65, 58, 41]

  1. ढेर की जाँच करने का कार्यक्रम पायथन में अधिकतम ढेर बना रहा है या नहीं

    मान लीजिए कि हमारे पास ढेर के पेड़ का प्रतिनिधित्व करने वाली एक सूची है। जैसा कि हम जानते हैं कि हीप एक पूर्ण बाइनरी ट्री है। हमें यह जांचना है कि तत्व अधिकतम ढेर बना रहे हैं या नहीं। जैसा कि हम जानते हैं कि अधिकतम ढेर के लिए प्रत्येक तत्व अपने दोनों बच्चों से बड़ा होता है। इसलिए, यदि इनपुट nums =[

  1. पायथन में माध्य शिफ्ट एल्गोरिथ्म लागू करें

    मशीन लर्निंग में कई प्रकार के क्लस्टरिंग एल्गोरिदम हैं। इन एल्गोरिदम को पायथन में लागू किया जा सकता है। इस लेख में, आइए हम पायथन का उपयोग करके मीन-शिफ्ट एल्गोरिथम पर चर्चा करें और उसे लागू करें। यह एक क्लस्टरिंग एल्गोरिथम है जिसका उपयोग एक अनुपयोगी शिक्षण पद्धति के रूप में किया जाता है। इस एल्गोरिथ

  1. हीप सॉर्ट के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सरणी दी गई है, हमें इसे हेपसॉर्ट की अवधारणा का उपयोग करके क्रमबद्ध करने की आवश्यकता है। यहां हम अधिकतम तत्व को अंत में रखते हैं। यह तब तक दोहराया जाता है जब तक कि सरणी क्रमबद्ध न हो जाए। आइए अब नीचे दिए गए