الدرس 4: Big-O وتحليل التعقيد
تخيّل دليل هاتف ضخم وأنت تبحث فيه عن اسم واحد: تقليب الصفحات صفحةً صفحة يستغرق وقتًا لا نهاية له، لكن دليلًا مرتّبًا أبجديًا يمنحك طريقة أذكى بكثير للدخول. يمنح هذا الدرس ذلك النمط اسمًا قصيرًا — Big-O — طريقة عملية لوصف كيف ينمو حجم العمل مع كمية البيانات. سنتعرّف على ثلاث حالات شائعة: O(1) وO(n) و
Big-O هو ببساطة أن تسأل: 'إذا ضاعفتَ عدد العناصر، فكم يزيد حجم العمل؟'. إذا مررتَ على كل عنصر مرة واحدة، فمضاعفة العناصر = مضاعفة العمل (نسمّي هذا O(n)). وإذا قارنتَ كل عنصر مقابل كل عنصر، فمضاعفة العناصر = أربعة أضعاف العمل (O(n²)). هذا كل شيء — اسم قصير لمدى سرعة نمو العمل.
- تحليل التعقيد
- تقدير حجم العمل (الزمن) والذاكرة التي تحتاجها الخوارزمية كدالة في حجم المدخل n.
- Big-O
- رمز لمعدّل نمو الخوارزمية في أسوأ الحالات، مع تجاهل الثوابت والحدود الأدنى رتبةً.
- الزمن الخطّي
- O(n): ينمو حجم العمل بتناسب طردي مع حجم المدخل — مرور واحد على كل عنصر.