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

ماهو تعقيد الوقت complexity time في الخوارزميات وبنى المعطيات

خالد مرتضى

السؤال

لقد قرأت قليلا في الخوارزميات وهياكل البيانات وأحيانا اشعر بأن لدى تشوش في فهم مفهوم time complexity واكون شاكرا لو شرحه احد, شكرا مقدما

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...