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

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

تعقيد الخوارزميات (Big O)

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

لماذا Big O؟

تقيس كيف ينمو زمن (أو ذاكرة) الخوارزمية مع حجم المدخلات n — بغضّ النظر عن سرعة الجهاز.

الرتب الشائعة (من الأفضل للأسوأ)

الرتبةالاسممثال
O(1)ثابتالوصول لعنصر بفهرسه
O(log n)لوغاريتميالبحث الثنائي
O(n)خطّيالمرور على مصفوفة
O(n log n)شبه خطّيالترتيب الفعّال (merge/quick)
O(n²)تربيعيحلقتان متداخلتان
O(2ⁿ)أُسّيبعض الحلول التعاوديّة

أمثلة

# O(1) — خطوة واحدة
arr[0]

# O(n) — حلقة واحدة
for x in arr:
    print(x)

# O(n²) — حلقتان متداخلتان
for i in arr:
    for j in arr:
        print(i, j)

التعقيد المكاني

نقيس أيضًا الذاكرة الإضافية المستخدمة. حلّ بـ O(1) ذاكرة أفضل من O(n).

🎯 التالي: المصفوفات بعمق.

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