ما هو الكَوْم؟
شجرة ثنائية كاملة تحقّق خاصّية:
- 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).