العودة إلى الدراسة
درس تجريبي18 دقيقة تقريبًا

كيف نفهم تعقيد الزمن؟

من سؤال «كم مرة يتكرر هذا السطر؟» إلى حدّ محكم تستطيع تبريره في الامتحان.

الخطوة 1 من 4 · افهم الفكرة

ابدأ بالسؤال الصحيح: كم عملًا ننجز؟

لديك مصفوفة فيها nn عناصر. إذا قرأت كل عنصر مرة واحدة، فأنت تنجز nn عمليات أساسية. هذا هو مدخلنا لتحليل الزمن: نعدّ العمل عندما يكبر المدخل.

الكود أو الخطوات
for (int i = 0; i < n; ++i)
    work();

يأخذ المؤشر القيم من صفر حتى n−1n-1. عددها nn، وتكلفة كل استدعاء ثابتة. مع تكاليف الشرط والزيادة يصبح الزمن من شكل an+ban+b، لذا نصفه بأنه Θ(n)\Theta(n).

ثلاث صيغ، لكل منها معنى

  • O(n)O(n): حدّ علوي. لا يتجاوز العمل مضاعفًا ثابتًا من nn بعد نقطة معينة.
  • Ω(n)\Omega(n): حدّ سفلي. لا يقل العمل عن مضاعف موجب ثابت من nn بعد نقطة معينة.
  • Θ(n)\Theta(n): حدّ محكم يجمع الحدّين.

مثلًا، 3n+73n+7 يقع بين 3n3n و10n10n عندما n≥1n\ge1، ولذلك هو Θ(n)\Theta(n). ويصحّ أيضًا أنه O(n2)O(n^2)، لكنه حدّ فضفاض.

تذكّر: «أسوأ حالة» تختار المدخلات التي نحللها؛ وBig O تصف حدًا للدالة الناتجة. لا تخلط بينهما.

نستخدم نموذجًا تكون فيه المقارنة والعملية الأساسية على أعداد محدودة السعة بزمن ثابت.

موضعك محفوظ تلقائيًا
مصادر الدرس وملاحظات المراجعة

هذا محتوى تجريبي للتعلّم، وليس محاضرة أو امتحانًا سابقًا.

محتوى تجريبي أصلي أُعدّ لألجولاب. لا يُنسب إلى أستاذ أو محاضرة أو امتحان تاريخي.

شرح تجريبي تكميلي. روجعت الأمثلة بالعدّ والثوابت وتحليل مستويات الاستدعاء. لا يُنسب إلى مصدر جامعي.

    خطوة صغيرة. فهم أعمق.ألجولاب · دفتر شخصي للدراسة