কম্পিউটার টিউটোরিয়াল

পাইথনে হিপ কিউ (heapq) মডিউল

হিপ কিউ একটি স্পেশাল ট্রি স্ট্রাকচার যেখানে প্রতিটি প্যারেন্ট নোড তার চাইল্ড নোড থেকে ছোট বা সমান। পাইথনে এটি heapq মডিউল দিয়ে ইমপ্লিমেন্ট করা হয়। প্রায়োরিটি কিউ ইমপ্লিমেন্টেশনে এটি খুব কাজে লাগে যেখানে বেশি ওয়েইটवाले আইটেমকে বেশি প্রায়োরিটি দেওয়া হয়।

হিপ তৈরি করা

heapq লাইব্রেরির ফাংশনগুলো:

  • heapify - রেগুলার লিস্টকে হিপে রূপান্তর করে। সবচেয়ে ছোট এলিমেন্ট ইনডেক্স ০-এ চলে যায়।
  • heappush - হিপে এলিমেন্ট যোগ করে হিপ প্রপার্টি রক্ষা করে।
  • heappop - হিপ থেকে সবচেয়ে ছোট এলিমেন্ট বের করে।
  • heapreplace - সবচেয়ে ছোট এলিমেন্টকে নতুন ভ্যালু দিয়ে রিপ্লেস করে।

উদাহরণ: হিপ তৈরি

import heapq
H = [21, 1, 45, 78, 3, 5]
heapq.heapify(H)
print(H)  # [1, 3, 5, 78, 21, 45]

উদাহরণ: হিপে ইনসার্ট

heapq.heappush(H, 8)
print(H)  # [1, 3, 5, 78, 21, 45, 8]

উদাহরণ: হিপ থেকে রিমুভ

heapq.heappop(H)
print(H)  # [3, 21, 5, 78, 45]

উদাহরণ: হিপে রিপ্লেস

heapq.heapreplace(H, 6)
print(H)  # [3, 6, 5, 78, 21, 45]
  1. পাইথনে হিপ লিস্ট ম্যাক্স হিপ কিনা চেক করা

  2. হিপ সর্টের পাইথন প্রোগ্রাম

  3. পাইথনে queue মডিউল ব্যবহার করে স্ট্যাক ও কিউ ইমপ্লিমেন্টেশন

  4. পাইথন হিপ কিউ অ্যালগরিদম