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

O(log n)

زمن لوغاريتمي O(log n)

O(log n) يعني أن العملية تستبعد جزءًا كبيرًا من البيانات بكل خطوة (غالبًا النصف) — سريعة جدًا حتى مع بيانات ضخمة.

المثال القياسي: Binary Search. مضاعفة حجم البيانات تضيف خطوة واحدة إضافية فقط تقريبًا — لهذا الفرق بين معالجة 1000 عنصر ومليون عنصر بخوارزمية O(log n) صغير جدًا عمليًا.

الصياغة

# نمط شائع لخوارزمية O(log n): تنصيف المشكلة بكل خطوة
while low <= high:
    mid = (low + high) // 2
    # استبعاد نصف النطاق

📄 مثال

# Binary Search: كل مقارنة تستبعد نصف العناصر المتبقية
# 1,000,000 عنصر → 20 مقارنة تقريبًا فقط بأسوأ حالة

💡 نصائح عملية

  • أي خوارزمية "فرّق تسد" (Divide and Conquer) تُقسّم المشكلة لنصفين غالبًا ما تحمل عامل log n بتعقيدها

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار DSA الكامل بالعربي.