
الخوارزميات
تحليل وتصميم الخوارزميات بكل أشكالها
ماذا ستتعلم؟
- فهم مفهوم تحليل الخوارزميات
- كتابة الخوارزميات اللفظية
- رسم المخططات التدفقية
- تحليل خوارزمية البحث التتابعي
- فهم التدوين المقارب Big OH وOmega وTheta
- تحليل الحلقات التكرارية والمتداخلة
- استخدام الخوارزميات العودية ومقارنتها بالتكرار
- التعامل مع خوارزميات المخططات BFS وDFS
- تنفيذ خوارزميات الفرز والبحث الثنائي
عن الدورة
يشرح هذا الكورس تحليل وتصميم الخوارزميات Algorithms وكيفية التفكير المنطقي لحل المشكلات البرمجية. تبدأ بمقدمة عامة ومفهوم تحليل الخوارزميات واستراتيجياته، ثم كيفية كتابة الخوارزميات اللفظية والمخططات التدفقية. بعد ذلك تحلل خوارزمية البحث التتابعي Sequential Search، وتتعرف على التدوين المقارب Asymptotic Notation وهو Big OH وOmega وTheta، وتحلل الحلقات التكرارية والمتداخلة. ثم تنتقل إلى الخوارزميات العودية ومقارنتها بالتكرار، وخوارزميات المخططات BFS وDFS، وخوارزمية الفرز بالإقحام والفرز السريع والبحث الثنائي. ينفع الكورس دارسي علوم الحاسوب والمبرمجين الذين يريدون فهم أداء الكود وكتابة حلول أفضل، ويفضل أن تعرف أساسيات البرمجة. وبعده ستكون قادرا على كتابة خوارزميات وتحليل أدائها واختيار الأسلوب المناسب لكل مشكلة، مع كتاب عمل يساعدك على التطبيق. الشرح بالعربية وبأمثلة واضحة تساعدك على فهم الفكرة قبل الدخول في التفاصيل.
نتائج متوقعة من الدورة
- فهم عميق لمفاهيم تحليل الخوارزميات.
- كتابة خوارزميات فعالة وتحليل أدائها.
- التعامل مع المخططات والخوارزميات المتقدمة.
- تطبيق الخوارزميات لحل مشكلات عملية.
تقييمات المتدربين
محتوى الدورة
1New section
16 درس
- مقدمة عامّةيعرض أهداف كورس تصميم وتحليل الخوارزميات، ويعرف الخوارزمية بأنها خطة عمل لتحقيق هدف انطلاقا من المدخلات وصولا إلى المخرجات، مع تحديد المشكلة وشرط صحة الخوارزمية وأمثلة من الحياة.20:36
- مفهوم تحليل الخوارزمياتيشرح مفهوم تحليل الخوارزميات، فيصف الخوارزمية بأنها توصيف دقيق لحل مسألة، ويبين موارد الحاسب من زمن وذاكرة، وسبب التحليل، وما يحلل من صحة وتعقيدية، بمثال العدد الأولي.23:59
- استراتيجيات تحليل الخوارزمياتيستعرض استراتيجيات تصميم الخوارزميات مثل القوة الغاشمة Brute Force والخوارزمية الطماعة والبرمجة الديناميكية والتطوير التكراري والتراجع Backtracking، مع عوامل قياس الفعالية وحجم المدخلات.14:36
- كيفية كتابة خوارزميات لفظية (الجزء الأول)يشرح كتابة الخوارزميات اللفظية بمثال حل معادلة من الدرجة الأولى، ويبين مراحل الإدخال والمعالجة والإخراج، ودور المتغيرات كأماكن محجوزة في الذاكرة، مع تطبيق بسيط بلغة C++.12:59
- كيفية كتابة خوارزميات لفظية (الجزء الثانى)يتابع كتابة الخوارزميات اللفظية، فيبدأ بتعريف المشكلة، ويفرق بين الإسناد في الحاسوب والمساواة في الرياضيات، ويشرح أوامر الإدخال، ويطبق ذلك على خوارزميات الجمع والقسمة.21:41
- المخططات التدفقيةيشرح المخططات التدفقية وتتبع عمل الخوارزمية Tracing بأمثلة، ثم معايير تحليل الخوارزميات والمنهجيتين النظرية والتجريبية، والعملية الأساسية في البحث وهي المقارنة.25:45
- تحليل خوارزمية البحث التتابعي Sequential Searchيعرف التدوين التقاربي Asymptotic Notation وحالات Best Case وAverage Case وWorst Case، ويطبقها على خوارزمية البحث التتابعي التي تعيد فهرس العنصر، مع عدد خطوات الحالة الوسطى.25:27
- - التعريف بمفاهيم التدوين المقارب Asymptotic Notation/Big OH/Omega/Thetaيشرح لماذا لا يصلح قياس الزمن الفعلي لاختلاف الأجهزة، ويحسب عدد العمليات الأولية في خوارزمية جمع عناصر مصفوفة بحلقة for، ثم يهمل الثوابت والحدود الصغرى عند التعبير بـ Big O.27:53
- تحليل الحلقات التكراريةيتعمق في Worst Case وBig O وBig Omega وBig Theta، ويشرح استخدام التدوين التقاربي بدل زمن التنفيذ الدقيق على آلة مجردة، ويقارن معدلات النمو وتأثير حجم المدخلات على الزمن.22:20
- تحليل الحلقات المتداخلةيلخص مفهوم معدل النمو التقاربي ويعرف Big O وBig Omega وBig Theta وخصائصها، ثم يوضح كيف تحسب خطوات حلقتي for وwhile، ومتى تتوقف الحلقة وكيف يحسب عدد تكراراتها.20:46
- الخوارزميات العودية (الجزء الأول)يشرح الحلقات المتداخلة Nested Loops ومتى تعد الحلقات متداخلة، ويحلل عدد تكرارات الحلقة الداخلية والخارجية معا، ويبين أن التعقيدية يحددها الحد الأعلى نموا، وهو n مربع في المثال.13:51
- الخوارزميات العودية (الجزء الثانى)يتناول السلاسل الرياضية ورمز المجموع سيجما في تحليل Big O، وأخذ الحالة الأكبر تعقيدا في الجمل الشرطية، والمفاضلة بين سرعة الجهاز وسرعة الخوارزمية، ومقارنة معدلات النمو وإهمال الثوابت.13:31
- مقارنة العودية بالتكراريوضح أن Big O و Big Omega و Big Theta تعبر عن معدل نمو عدد العمليات لا عن عددها الدقيق، ثم يقدم التوابع العودية وحالتها الأساسية وخطوتها العودية بأمثلة مثل البحث في مصفوفة وحساب factorial.22:29
- خوارزميات التعامل مع المخططات BFS + DFيقارن بين العودية والتكرار ومزايا وعيوب كل منهما بأمثلة مثل factorial و Fibonacci، ثم يشرح فكرة خوارزميتي DFS و BFS للتعامل مع المخططات واستخدام المكدس في زيارة العقد.18:45
- خوارزمية الفرز بالإقحاميشرح خوارزمية الفرز بالإقحام Insertion Sort وفكرة الحلقتين المتداخلتين والمقارنات المتتالية، مع تتبع مثال على مصفوفة خطوة بخطوة وكيف يُحفظ العنصر ويُزاح ما قبله.22:18
- خوارزمية الفرز السريع خوارزمية البحث الثنائييشرح خوارزمية الفرز السريع Quick Sort بفكرة العنصر المحوري وتقسيم المصفوفة، ويقارنها بالفرز بالإقحام من حيث المساحة والسرعة، ثم يشرح خوارزمية البحث الثنائي Binary Search في مصفوفة مرتبة.18:03
2الملحقات
1 ملحقات
- تحميل كتاب العمل
المحاضر

د.م./محمد الخضور
هذه الدورة ضمن دبلومة




