الخطوة 1 من 4 · افهم الفكرة
ابدأ بالسؤال الصحيح: كم عملًا ننجز؟
لديك مصفوفة فيها عناصر. إذا قرأت كل عنصر مرة واحدة، فأنت تنجز عمليات أساسية. هذا هو مدخلنا لتحليل الزمن: نعدّ العمل عندما يكبر المدخل.
for (int i = 0; i < n; ++i)
work();
يأخذ المؤشر القيم من صفر حتى . عددها ، وتكلفة كل استدعاء ثابتة. مع تكاليف الشرط والزيادة يصبح الزمن من شكل ، لذا نصفه بأنه .
ثلاث صيغ، لكل منها معنى
- : حدّ علوي. لا يتجاوز العمل مضاعفًا ثابتًا من بعد نقطة معينة.
- : حدّ سفلي. لا يقل العمل عن مضاعف موجب ثابت من بعد نقطة معينة.
- : حدّ محكم يجمع الحدّين.
مثلًا، يقع بين و عندما ، ولذلك هو . ويصحّ أيضًا أنه ، لكنه حدّ فضفاض.
تذكّر: «أسوأ حالة» تختار المدخلات التي نحللها؛ وBig O تصف حدًا للدالة الناتجة. لا تخلط بينهما.
نستخدم نموذجًا تكون فيه المقارنة والعملية الأساسية على أعداد محدودة السعة بزمن ثابت.