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

पायथन में हीप कतार (या हीपक) क्या है?

हीप कतार एक विशेष वृक्ष संरचना है जिसमें प्रत्येक पैरेंट नोड अपने चाइल्ड नोड से कम या उसके बराबर होता है। पाइथिन में इसे हीपक मॉड्यूल का उपयोग करके कार्यान्वित किया जाता है। यह बहुत उपयोगी है प्राथमिकता कतारों को लागू करना जहां उच्च भार वाले कतार आइटम को प्रसंस्करण में अधिक प्राथमिकता दी जाती है।

एक ढेर बनाएं

पाइथॉन की इनबिल्ट लाइब्रेरी का उपयोग करके हीप कतार बनाई जाती है जिसका नाम हीप है। इस पुस्तकालय में ढेर डेटा संरचना पर विभिन्न संचालन करने के लिए प्रासंगिक कार्य हैं। नीचे इन कार्यों की सूची दी गई है।

  • heapify - यह फ़ंक्शन एक नियमित सूची को एक ढेर में परिवर्तित करता है। परिणामी ढेर में सबसे छोटा तत्व इंडेक्स स्थिति 0 पर धकेल दिया जाता है। लेकिन शेष डेटा तत्वों को क्रमबद्ध नहीं किया जाता है।
  • heappush - यह फ़ंक्शन वर्तमान हीप को बदले बिना हीप में एक तत्व जोड़ता है।
  • heappop - यह फ़ंक्शन हीप से सबसे छोटा डेटा तत्व लौटाता है।
  • heapreplace - यह फ़ंक्शन सबसे छोटे डेटा तत्व को फ़ंक्शन में दिए गए नए मान से बदल देता है।

ढेर बनाना

हीपिफ़ फ़ंक्शन वाले तत्वों की सूची का उपयोग करके एक हीप बनाया जाता है। नीचे दिए गए उदाहरण में हम तत्वों की एक सूची प्रदान करते हैं और हीपिफ़ फ़ंक्शन सबसे छोटे तत्व को पहले स्थान पर लाने वाले तत्वों को पुनर्व्यवस्थित करता है।

उदाहरण

import heapqH =[21,1,45,78,3,5]# Elementsheapq.heapify(H)print(H) को पुनर्व्यवस्थित करने के लिए heapify का उपयोग करें

आउटपुट

जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

[1, 3, 5, 78, 21, 45]

ढेर में सम्मिलित करना

डेटा तत्व को ढेर में सम्मिलित करना हमेशा अंतिम अनुक्रमणिका में तत्व जोड़ता है। लेकिन आप नए जोड़े गए तत्व को पहली अनुक्रमणिका में लाने के लिए फिर से हेपिफाई फ़ंक्शन लागू कर सकते हैं, यदि यह मूल्य में सबसे छोटा है। नीचे दिए गए उदाहरण में हम संख्या 8 डालते हैं।

उदाहरण

आयात heapqH =[21,1,45,78,3,5]# एक heapheapq.heapify(H)print(H)# में गुप्त तत्व जोड़ें।> 

आउटपुट

जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

[1, 3, 5, 78, 21, 45][1, 3, 5, 78, 21, 45, 8]

ढेर से निकाला जा रहा है

आप इस फ़ंक्शन का उपयोग करके तत्व को पहली अनुक्रमणिका पर हटा सकते हैं। नीचे दिए गए उदाहरण में फ़ंक्शन इंडेक्स स्थिति 1 पर तत्व को हमेशा हटा देगा।

उदाहरण

आयात heapqH =[21,1,45,78,3,5]# heapheapq.heapify(H)print(H)# बनाएं heapheapq.heappop(H)print(H) से तत्व निकालें

आउटपुट

जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

[1, 3, 5, 78, 21, 45][3, 21, 5, 78, 45]

ढेर में बदलना

हेप्रेप्लेस फ़ंक्शन हमेशा हीप के सबसे छोटे तत्व को हटाता है और नए आने वाले तत्व को किसी ऐसे स्थान पर सम्मिलित करता है जो किसी भी क्रम से तय नहीं होता है।

उदाहरण

आयात heapqH =[21,1,45,78,3,5]# heapheapq बनाएँ।> 

आउटपुट

जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

[1, 3, 5, 78, 21, 45][3, 6, 5, 78, 21, 45]

  1. पायथन में सीजीआई क्या है?

    सामान्य गेटवे इंटरफ़ेस, या CGI, बाहरी गेटवे प्रोग्राम के लिए HTTP सर्वर जैसे सूचना सर्वर के साथ इंटरफ़ेस करने के लिए एक मानक है। वर्तमान संस्करण CGI/1.1 है और CGI/1.2 प्रगति पर है। वेब ब्राउज़िंग CGI की अवधारणा को समझने के लिए, आइए देखें कि जब हम किसी विशेष वेब पेज या URL को ब्राउज़ करने के लिए हा

  1. पायथन में ऑपरेटर नहीं है क्या है?

    पायथन में सदस्यता ऑपरेटर गलत का मूल्यांकन नहीं करता है यदि ऑपरेटर के दोनों ओर चर एक ही वस्तु को इंगित करता है और अन्यथा सत्य है। उदाहरण के लिए - >>> a = 10 >>> b = 20 >>> id(a), id(b) (1581561184, 1581561504) >>> a is not b True चूंकि आईडी () चर के ए और बी अलग

  1. पायथन में __init__.py क्या है?

    __init__.py फ़ाइलों की आवश्यकता होती है ताकि पायथन निर्देशिकाओं को पैकेज युक्त समझे; यह एक सामान्य नाम वाली निर्देशिकाओं को रोकने के लिए किया जाता है, जैसे कि स्ट्रिंग, अनजाने में वैध मॉड्यूल को छिपाने से जो बाद में मॉड्यूल खोज पथ पर होते हैं। सरलतम स्थिति में, __init__.py केवल एक खाली फ़ाइल हो सकती