Python heapq Module in Hindi ๐ฅ | Priority Queue Explained | Python Hindi
Python heapq Module
เคเค เคฌाเคฐ เคนเคฎें เคिเคธी group of numbers เคฎें เคธे เคฌाเคฐ-เคฌाเคฐ เคธเคฌเคธे เคोเคी (เคฏा เคธเคฌเคธे เคฌเคก़ी) value เคเคฒ्เคฆी เคธे เคจिเคाเคฒเคจी เคนोเคคी เคนै — เคैเคธे เคिเคธी hospital เคฎें เคธเคฌเคธे เค्เคฏाเคฆा urgent patient เคो เคชเคนเคฒे เคฆेเคเคจा, เคฏा เคिเคธी task list เคฎें เคธเคฌเคธे high-priority task เคो เคชเคนเคฒे เคเคฐเคจा। เคเคธเคे เคฒिเค Python เคा heapq module เคเคธ्เคคेเคฎाเคฒ เคนोเคคा เคนै।
เค
เคเคฐ เคเคชเคจे เค
เคญी Python Lists Complete Guide in Hindi เคจเคนीं เคชเคข़ा เคนै, เคคो เคชเคนเคฒे เคตो article เคชเคข़เคจा เคเคฐूเคฐी เคนै, เค्เคฏोंเคि heapq เค
เคธเคฒ เคฎें เคเค normal Python list เคชเคฐ เคนी เคाเคฎ เคเคฐเคคा เคนै। Examples เคुเคฆ run เคเคฐเคจे เคे เคฒिเค เคนเคฎाเคฐा Online Python Editor & Compiler use เคเคฐ เคธเคเคคे เคนैं।
heapq เค्เคฏा เคนै?
heapq Python เคा เคเค built-in module เคนै, เคो เคिเคธी normal list เคो heap เคी เคคเคฐเคน เคเคธ्เคคेเคฎाเคฒ เคเคฐเคจे เคฆेเคคा เคนै — เคเค เคเคธी structure เคिเคธเคฎें เคธเคฌเคธे เคोเคी value เคนเคฎेเคถा เคธเคฌเคธे เคเคे (index 0 เคชเคฐ) เคฐเคนเคคी เคนै।
เคธเคฐเคฒ เคญाเคทा เคฎें — heapq เคเค เคเคธी list เคฎैเคจेเค เคเคฐเคคा เคนै เคिเคธเคฎें เคธเคฌเคธे เคोเคी value เคนเคฎेเคถा เคธเคฌเคธे เคเคชเคฐ เคฎिเคฒเคคी เคนै।
Output:
Output เคฆेเคเคจे เคฎें unsorted เคฒเค เคธเคเคคा เคนै, เคฒेเคिเคจ heap property เคे เคนिเคธाเคฌ เคธे numbers[0] เคนเคฎेเคถा เคธเคฌเคธे เคोเคी value เคนोเคी — เคฏเคนाँ 1।
heapq เคो Import เคैเคธे เคเคฐें?
heapq module เคे เค्เคฏाเคฆाเคคเคฐ functions เคो normal Python list เคे เคธाเคฅ directly เคเคธ्เคคेเคฎाเคฒ เคिเคฏा เคाเคคा เคนै — เคเคธเคा เคोเค เค
เคฒเค "Heap" data type เคจเคนीं เคนै।
heapify()
heapify() เคिเคธी existing list เคो เคเคเคน เคชเคฐ เคนी (in-place) heap structure เคฎें เคฌเคฆเคฒ เคฆेเคคा เคนै।
Output:
heappush()
heappush() heap เคฎें เคเค เคจเค value เคोเคก़เคคा เคนै, เคเคฐ heap structure เคो automatically เคธเคนी order เคฎें maintain เคฐเคเคคा เคนै।
Output:
0 เคोเคก़เคจे เคे เคฌाเคฆ เคตเคน automatically เคธเคฌเคธे เคเคे เคเคฒा เคเคฏा, เค्เคฏोंเคि เคตเคน เคธเคฌเคธे เคोเคी value เคนै।
heappop()
heappop() heap เคธे เคธเคฌเคธे เคोเคी value เคนเคाเคเคฐ return เคเคฐเคคा เคนै, เคเคฐ เคฌाเคी heap เคो automatically เคซिเคฐ เคธे เคธเคนी order เคฎें maintain เคเคฐ เคฆेเคคा เคนै।
Output:
heappushpop()
heappushpop() เคเค เคธाเคฅ เคฆो เคाเคฎ เคเคฐเคคा เคนै — เคชเคนเคฒे เคจเค value push เคเคฐเคคा เคนै, เคซिเคฐ เคธเคฌเคธे เคोเคी value pop เคเคฐเคे return เคเคฐเคคा เคนै। เคฏเคน heappush() เคเคฐ เคซिเคฐ heappop() เค
เคฒเค-เค
เคฒเค เคเคฐเคจे เคธे เคฅोเคก़ा เคคेเค़ เคนै।
Output:
เคฏเคนाँ 0 เคธเคฌเคธे เคोเคा เคฅा, เคเคธเคฒिเค push เคนोเคคे เคนी เคตเคน เคคुเคฐंเคค pop เคญी เคนो เคเคฏा।
heapreplace()
heapreplace() เคญी push เคเคฐ pop เคฆोเคจों เคเคฐเคคा เคนै, เคฒेเคिเคจ order เคเคฒ्เคा เคนै — เคชเคนเคฒे เคธเคฌเคธे เคोเคी value pop เคเคฐเคคा เคนै, เคซिเคฐ เคจเค value push เคเคฐเคคा เคนै।
Output:
เคฏเคนाँ เคชเคนเคฒे 1 (เคो เคธเคฌเคธे เคोเคा เคฅा) เคนเคाเคฏा เคเคฏा, เคเคธเคे เคฌाเคฆ 0 add เคिเคฏा เคเคฏा।
| Function | เคाเคฎ |
|---|---|
heappushpop(heap, item) | เคชเคนเคฒे push, เคซिเคฐ pop — เคจเค value เคญी compare เคนोเคคी เคนै |
heapreplace(heap, item) | เคชเคนเคฒे pop (existing smallest), เคซिเคฐ push |
nsmallest()
nsmallest(n, iterable) เคिเคธी list เคฎें เคธे เคธเคฌเคธे เคोเคी n values เคो sorted order เคฎें return เคเคฐเคคा เคนै।
Output:
nlargest()
nlargest(n, iterable) เคिเคธी list เคฎें เคธे เคธเคฌเคธे เคฌเคก़ी n values เคो return เคเคฐเคคा เคนै।
Output:
Min-Heap เคा Basic Concept
Python เคा heapq module by default เคเค Min-Heap เคฌเคจाเคคा เคนै — เคฏाเคจी เคธเคฌเคธे เคोเคी value เคนเคฎेเคถा index 0 เคชเคฐ, เคธเคฌเคธे เคเคชเคฐ เคฐเคนเคคी เคนै।
เคฏเคนाँ 1 เคธเคฌเคธे เคเคชเคฐ (root) เคนै เค्เคฏोंเคि เคตเคน เคธเคฌเคธे เคोเคी value เคนै। เคนเคฐ parent เค
เคชเคจे เคฆोเคจों children เคธे เคोเคा เคฏा เคฌเคฐाเคฌเคฐ เคนोเคคा เคนै — เคฏเคนी Min-Heap เคा เคจिเคฏเคฎ เคนै।
heapq เคฎें directly Max-Heap เคจเคนीं เคฎिเคฒเคคा।
Practical Priority Example
Output:
เคฏเคนाँ เคนเคฐ patient เคเค (priority, name) tuple เคนै। heapq เคชเคนเคฒे tuple เคे เคชเคนเคฒे element (priority) เคे เคเคงाเคฐ เคชเคฐ order เคฐเคเคคा เคนै, เคเคธเคฒिเค เคธเคฌเคธे urgent patient (priority 1) เคนเคฎेเคถा เคธเคฌเคธे เคชเคนเคฒे เคฌाเคนเคฐ เคเคคा เคนै — เคฏเคนी Priority Queue เคा basic idea เคนै।
Common Beginner Mistakes
heapq เคธे เคฌเคจी list เคชूเคฐी เคคเคฐเคน sorted เคจเคนीं เคนोเคคी — เคธिเคฐ्เคซ heap[0] เคนी guaranteed เคธเคฌเคธे เคोเคी value เคนोเคคी เคนै। เคชूเคฐी sorted list เคे เคฒिเค sorted() เคฏा เคฌाเคฐ-เคฌाเคฐ heappop() เคเคธ्เคคेเคฎाเคฒ เคเคฐเคจा เคชเคก़เคคा เคนै।
By default heapq เคธिเคฐ्เคซ Min-Heap เคฌเคจाเคคा เคนै। เค
เคเคฐ เคธเคฌเคธे เคฌเคก़ी value เคाเคนिเค, เคคो เคฏा เคคो nlargest() เคเคธ्เคคेเคฎाเคฒ เคเคฐें, เคฏा values เคो negative เคเคฐเคे push/pop เคเคฐें।
Exercise ?
Python เคे heapq module เคฎें, heap เคी index 0 เคชเคฐ เคนเคฎेเคถा เคौเคจ เคธी value เคนोเคคी เคนै?
Coding Challenge
เค เคฌ เคुเคฆ เค เคชเคจे Online Python Editor เคฎें เคเคจ challenges เคो solve เคीเคिเค:
- เคिเคธी unsorted list เคो
heapify()เคธे heap เคฎें เคฌเคฆเคฒिเค เคเคฐ เคธเคฌเคธे เคोเคी value print เคीเคिเค। heappush()เคธे เคเค heap เคฎें 5 เคจเค values เคोเคก़िเค, เคเค-เคเค เคเคฐเคे।heappop()เคा เคเคธ्เคคेเคฎाเคฒ เคเคฐเคे เคिเคธी heap เคธे เคธाเคฐी values เคो sorted order เคฎें เคจिเคाเคฒिเค (loop เคเคธ्เคคेเคฎाเคฒ เคเคฐเคे)।nsmallest()เคเคฐnlargest()เคธे เคिเคธी list เคฎें เคธे top 3 เคธเคฌเคธे เคोเคी เคเคฐ top 3 เคธเคฌเคธे เคฌเคก़ी values เคจिเคाเคฒिเค।- เคเค เคोเคा task-priority system เคฌเคจाเคเค เคिเคธเคฎें
(priority, task_name)tuples เคนों, เคเคฐheappop()เคธे เคนเคฎेเคถा เคธเคฌเคธे urgent task เคธเคฌเคธे เคชเคนเคฒे เคจिเคเคฒे।
Quick Revision
| Function | เคाเคฎ |
|---|---|
heapify(list) | List เคो heap structure เคฎें เคฌเคฆเคฒเคคा เคนै |
heappush(heap, item) | เคจเค value เคोเคก़เคคा เคนै |
heappop(heap) | เคธเคฌเคธे เคोเคी value เคนเคाเคเคฐ return เคเคฐเคคा เคนै |
heappushpop(heap, item) | เคชเคนเคฒे push, เคซिเคฐ pop |
heapreplace(heap, item) | เคชเคนเคฒे pop, เคซिเคฐ push |
nsmallest(n, iterable) | เคธเคฌเคธे เคोเคी n values |
nlargest(n, iterable) | เคธเคฌเคธे เคฌเคก़ी n values |
FAQ
Python เคฎें heapq เค्เคฏा เคนै?
heapq เคเค built-in module เคนै เคो เคिเคธी normal list เคो heap เคी เคคเคฐเคน เคฎैเคจेเค เคเคฐเคคा เคนै, เคिเคธเคฎें เคธเคฌเคธे เคोเคी value เคนเคฎेเคถा index 0 เคชเคฐ เคฐเคนเคคी เคนै।
heapq เคธे เคฌเคจी list เค्เคฏा เคชूเคฐी เคคเคฐเคน sorted เคนोเคคी เคนै?
เคจเคนीं। เคธिเคฐ्เคซ heap[0] เคนเคฎेเคถा เคธเคฌเคธे เคोเคी value เคนोเคจे เคी guarantee เคนै — เคฌाเคी list เคा order เคชूเคฐी เคคเคฐเคน sorted เคจเคนीं เคนोเคคा।
heappush() เคเคฐ heappop() เคฎें เค्เคฏा เคซเคฐ्เค เคนै?
heappush() heap เคฎें เคจเค value เคोเคก़เคคा เคนै, เคเคฌเคि heappop() heap เคธे เคธเคฌเคธे เคोเคी value เคนเคाเคเคฐ เคเคธे return เคเคฐเคคा เคนै।
เค्เคฏा heapq เคธे Max-Heap เคฌเคจा เคธเคเคคे เคนैं?
Directly เคจเคนीं — heapq by default เคธिเคฐ्เคซ Min-Heap เคธเคชोเคฐ्เค เคเคฐเคคा เคนै। Max-Heap เคे เคฒिเค เคฏा เคคो nlargest() เคเคธ्เคคेเคฎाเคฒ เคเคฐें, เคฏा values เคो negative เคเคฐเคे push/pop เคเคฐें।
heapq เคा เคธเคฌเคธे common เคเคธ्เคคेเคฎाเคฒ เค्เคฏा เคนै?
heapq เคा เคธเคฌเคธे common เคเคธ्เคคेเคฎाเคฒ Priority Queue เคฌเคจाเคจे เคฎें เคนोเคคा เคนै — เคเคนाँ เคนเคฎेเคถा เคธเคฌเคธे เค्เคฏाเคฆा priority (เคธเคฌเคธे เคोเคा number) เคตाเคฒा item เคชเคนเคฒे process เคिเคฏा เคाเคคा เคนै, เคैเคธे task scheduling เคฏा hospital patient management เคฎें।
Summary
heapq = เคเค list, เคिเคธเคฎें เคธเคฌเคธे เคोเคी value เคนเคฎेเคถा เคธเคฌเคธे เคเคชเคฐ เคฎिเคฒเคคी เคนै।
เคเคธ article เคฎें เคเคชเคจे เคธीเคा เคि heapq module เค्เคฏा เคนै, heapify(), heappush(), heappop(), heappushpop(), heapreplace(), nsmallest() เคเคฐ nlargest() เคैเคธे เคाเคฎ เคเคฐเคคे เคนैं, Min-Heap เคा basic concept เค्เคฏा เคนै, เคเคฐ Priority Queue เคैเคธे เคฌเคจाเค เคाเคคी เคนै।
heapq เคเคจ เคเคเคนों เคे เคฒिเค เคฌเคนुเคค เคเคชเคฏोเคी เคนै เคเคนाँ เคฌाเคฐ-เคฌाเคฐ เคธเคฌเคธे เคोเคी (เคฏा เคธเคฌเคธे เคฌเคก़ी) value เคเคฒ्เคฆी เคธे เคจिเคाเคฒเคจी เคนो — เคैเคธे scheduling systems, priority-based processing, เคเคฐ algorithms เคฎें। เค
เคฌ เคเคชเคฐ เคฆिเคฏा เคเคฏा coding challenge เคुเคฆ เค
เคชเคจे Online Editor เคฎें solve เคเคฐें।

เคोเค เคिเคช्เคชเคฃी เคจเคนीं:
เคเค เคिเคช्เคชเคฃी เคญेเคें