Ali Ahmed55 نشر الجمعة في 17:49 أرسل تقرير نشر الجمعة في 17:49 السلام عليكم هم بس دول العاملين المهمين جدا لمعرفه ادء الخورزميه Space Complexity and Time Complexity ؟ 1 اقتباس
0 Mustafa Suleiman نشر الجمعة في 18:12 أرسل تقرير نشر الجمعة في 18:12 هما الأساس لأي خوارزمية من الناحية النظرية، حيث Time Complexity يقيس عدد العمليات التي تقوم بها الخوارزمية كدالة في حجم المدخلات، بمعنى كلما زاد حجم المدخلات، كم من الوقت الإضافي سيستغرقه البرنامج؟ فالخوارزمية البطيئة لا مشكلة بها لـ 10 عناصر، لكنها ستستغرق ساعات أو أيام لمعالجة مليون عنصر، بالتالي المقياس يساعدنا على فهم قابلية الـ Scalability أو التوسع للحل. وSpace Complexity يقيس مقدار الذاكرة الإضافية التي تستخدمها الخوارزمية كدالة في حجم المدخلات، أي بزيادة حجم المدخلات، كم من الذاكرة الإضافية سيحتاجها البرنامج؟ حيث استخدام ذاكرة هائلة سيؤدي إلى بطء النظام أو انهياره، خاصة في البيئات ذات الموارد المحدودة مثل الهواتف المحمولة أو الخوادم المشتركة. لكن عمليًا، هناك مقاييس أخرى، وأهما مدى نسبة صحة الخوارزمية بالنسبة لمختلف الحالات، بالإضافة إلى مدى بساطة الخوارزمية ومدى تعقيدها، وأداء ذاكرة التخزين المؤقت، قابلية التوسع في الأنظمة الموزعة، الاستقرار واستهلاك الطاقة. 1 اقتباس
0 Ali Ahmed55 نشر الجمعة في 18:16 الكاتب أرسل تقرير نشر الجمعة في 18:16 الف شكراا جدا لحضرتك جزاك الله كل خير اقتباس
0 محمد_عاطف نشر الأحد في 11:51 أرسل تقرير نشر الأحد في 11:51 وعليكم السلام ورحمة الله وبركاته. الإجابة بإختصار هي لا فهما ليسا العوامل الوحيدة ولكنهما الأهم والأشهر في التحليل النظري ومقارنة الخوارزميات. ففي الواقع العملي في هندسة البرمجيات هناك عوامل أخرى قد تكون بنفس الأهمية أو حتى أهم بناء على الموقف. فإنه يتم التركيز على التعقيد الزمني (Time Complexity) و التعقيد المكاني (Space Complexity) لأنهما يمثلان الموردين الأساسيين المحدودين في أي جهاز كمبيوتر: الوقت (Time): كم ستستغرق الخوارزمية من وقت لتنفيذها مع زيادة حجم المدخلات؟ (يقاس بعدد العمليات). المساحة (Space): كم ستحتاج الخوارزمية من ذاكرة (RAM) مع زيادة حجم المدخلات؟ يستخدم تحليل (Big O Notation) لوصف سلوكهما التقريبي (Asymptotic behavior) وهذا ممتاز للمقارنات النظرية. وعند كتابة برامج حقيقية، توازن بين Time/Space وعوامل أخرى: سهولة القراءة والصيانة (Readability & Maintainability) : ففي كثير من الأحيان تكون الخوارزمية الأسرع معقدة جدًا وصعبة الفهم والأهم هو أن الكود يقرأ أكثر مما يكتب فإذا كان فريقك والأشخاص الأخرين لا يستطيع فهم الخوارزمية فمن المستحيل صيانتها أو تطويرها أو حتى إصلاح أخطائها. المفاضلة (Trade-off) فقد تختار خوارزمية أبطأ قليلًا إذا كانت أبسط وأسهل في الصيانة. بساطة التنفيذ (Implementation Simplicity) فكمم من الوقت سيستغرق المطور لكتابة هذه الخوارزمية بشكل صحيح فالخوارزميات المعقدة عرضة للأخطاء (Bugs) بشكل أكبر وصعوبة تنفيذها وتطويرها كبيرة . إذا الخلاصة أن ال Time وال Space هما الأساس الأكاديمي لمقارنة كفاءة الخوارزمية ولكن في هندسة البرمجيات أنت تبحث عن الخوارزمية الأفضل للمشكلة وهذا يشمل الموازنة بين الكفاءة وسهولة الصيانة ووقت التطوير والسياق الذي ستعمل فيه. 1 اقتباس
0 Ali Ahmed55 نشر الأحد في 18:25 الكاتب أرسل تقرير نشر الأحد في 18:25 الف شكراا جدا لحضرتكم جزاك الله كل خير اقتباس
السؤال
Ali Ahmed55
السلام عليكم
هم بس دول العاملين المهمين جدا لمعرفه ادء الخورزميه Space Complexity and Time Complexity ؟
4 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.