خالد مرتضى نشر 6 سبتمبر 2021 أرسل تقرير نشر 6 سبتمبر 2021 لقد قرأت قليلا في الخوارزميات وهياكل البيانات وأحيانا اشعر بأن لدى تشوش في فهم مفهوم time complexity واكون شاكرا لو شرحه احد, شكرا مقدما 1 اقتباس
0 شرف الدين حفني نشر 6 سبتمبر 2021 أرسل تقرير نشر 6 سبتمبر 2021 مفهوم تعقيد الوقت(time complexity) يعبر عن الوقت الﻻزم لتنفيذ الخوارزمية, ولكن ﻻ يتم حسابه بالثانية أو الدقيقة بل بعدد السطور البرمجية أو بمعنى أصح عدد التعليمات البرمجية, فمثلاً إذا كان لدينا خوارزمية تقوم بالتالي: قراءة قيمة من المستخدم ضرب القيمة في عشرة طباعة القيمة الجديدة هنا نستطيع أن نقول أن عدد السطور البرمجية التي تم تنفيذها ثلث أسطر, ولكن تعقيد الوقت هنا يساوي 1, ما السبب؟ السبب أن تعقيد الوقت يتم حسابه بالنسبة للمدخلات, فمثلاً في المثال السابق لن يفرق إن أدخل المستخدم 10 أو 100 أو 11000000 في كل تلك الحالات سيكون لدينا نفس عدد التعليمات البرمجية, بينما إن قمنا بإنشاء البرنامج التالي: خذ مجموعة عناصر من المستخدم قم بزيادة رقم واحد على كل عنصر منهم إطبع العناصر الجديدة في تلك الحالة كل مازاد عدد العناصر زاد عدد التعليمات البرمجية التي يقوم الحاسب بتنفيذها ويوجد عدة طرق لحساب التعقيد الوقتي مثل: BigO: والتي تعبر عن القيمة التي يكون الوقت اقل او مساوى لها Big Omega: تعبر القيمة التي يكون الوقت اكبر او مساوي لها Big Theta: تعبر عن القيمة التي يكون الوقت مساوي لها أو نستطيع أن نقول أن ال BigO يعبر عن اسوأ حالة للخوارزمية, بينما الBig Omega يعبر عن افضل حالة للخوارزمية بينما Big Theta تعبر عن الحالة المتوسطة 1 اقتباس
السؤال
خالد مرتضى
لقد قرأت قليلا في الخوارزميات وهياكل البيانات وأحيانا اشعر بأن لدى تشوش في فهم مفهوم time complexity واكون شاكرا لو شرحه احد, شكرا مقدما
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.