تخطَّ إلى المحتوى

🧮 شرح هياكل البيانات والخوارزميات

الأكوام (Heaps)

الدرس 14 من 25· ⏱ 1 دقائق قراءة

ما هو الكَوْم؟

شجرة ثنائية كاملة تحقّق خاصّية:

  • Min-Heap: كل أب أصغر من أبنائه (الأصغر في الجذر).
  • Max-Heap: كل أب أكبر من أبنائه (الأكبر في الجذر).

العمليات

العمليةالتعقيد
قراءة الأصغر/الأكبرO(1)
الإدراجO(log n)
حذف الجذرO(log n)
import heapq
h = []
heapq.heappush(h, 5)
heapq.heappush(h, 1)
heapq.heappush(h, 3)
heapq.heappop(h)     # 1  (الأصغر دائمًا في min-heap)

التطبيق الأهمّ: طابور الأولويّة

يخرج العنصر الأعلى أولويّةً أوّلًا — أساس خوارزمية Dijkstra وجدولة المهامّ.

Heap Sort

ترتيب باستخدام الكَوْم بتعقيد O(n log n).

🎯 التالي: الرسوم البيانية (Graphs).

هل كان هذا الدرس مفيدًا؟