اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

مفهوم تعقيد الوقت(time complexity) يعبر عن الوقت الﻻزم لتنفيذ الخوارزمية, ولكن ﻻ يتم حسابه بالثانية أو الدقيقة بل بعدد السطور البرمجية أو بمعنى أصح عدد التعليمات البرمجية, فمثلاً إذا كان لدينا خوارزمية تقوم بالتالي:

  1. قراءة قيمة من المستخدم
  2. ضرب القيمة في عشرة
  3. طباعة القيمة الجديدة

هنا نستطيع أن نقول أن عدد السطور البرمجية التي تم تنفيذها ثلث أسطر, ولكن تعقيد الوقت هنا يساوي 1, ما السبب؟ السبب أن تعقيد الوقت يتم حسابه بالنسبة للمدخلات, فمثلاً في المثال السابق لن يفرق إن أدخل المستخدم 10 أو 100 أو 11000000

في كل تلك الحالات سيكون لدينا نفس عدد التعليمات البرمجية, بينما إن قمنا بإنشاء البرنامج التالي:

  1. خذ مجموعة عناصر من المستخدم
  2. قم بزيادة رقم واحد على كل عنصر منهم
  3. إطبع العناصر الجديدة

في تلك الحالة كل مازاد عدد العناصر زاد عدد التعليمات البرمجية التي يقوم الحاسب بتنفيذها

ويوجد عدة طرق لحساب التعقيد الوقتي مثل:

BigO: والتي تعبر عن القيمة التي يكون الوقت اقل او مساوى لها
Big Omega: تعبر القيمة التي يكون الوقت اكبر او مساوي لها
Big Theta: تعبر عن القيمة التي يكون الوقت مساوي لها

أو نستطيع أن نقول أن ال BigO يعبر عن اسوأ حالة للخوارزمية, بينما الBig Omega يعبر عن افضل حالة للخوارزمية بينما Big Theta تعبر عن الحالة المتوسطة

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...