




السمعة:
- إنضم20 أغسطس 2023
- المشاركات 178
- الحلول 10
- مستوى التفاعل 400
- النقاط 63
بسم الله الرحمن الرحيم
اليوم سوف نتكلم عن خوارزمية مشهورة في البرمجة وهي :
خوارزمية دَيكسِترا
حيث تُعتبر من أهم الخوارزميات التوافقية، لو بدك تفهمها ببساطة؛ تخيل حالك رايح رحلة داخل مدينة جديدة، وعندك عدة طرق ممكن تمشي فيها، لكن بدك تختار أقصر وأسرع طريق عشان توصل بسرعة، ها هنا بتجي خوارزمية دَيكسِترا علشان تساعدك.
خوارزمية دَيكسِترا
حيث تُعتبر من أهم الخوارزميات التوافقية، لو بدك تفهمها ببساطة؛ تخيل حالك رايح رحلة داخل مدينة جديدة، وعندك عدة طرق ممكن تمشي فيها، لكن بدك تختار أقصر وأسرع طريق عشان توصل بسرعة، ها هنا بتجي خوارزمية دَيكسِترا علشان تساعدك.
كيف بتعمل الخوارزمية؟
- ابدأ من نقطة البداية: حدد المسافة من النقطة اللي أنت فيها (النقطة المصدر) على أنها صفر. أما المسافات لبقية النقاط فخليها في البداية ∞، يعني مش معروفة.
- اختار النقطة الأقرب: الآن، بتبدأ في البحث عن النقطة اللي أقربلك، بناءً على المسافة اللي وصلتها لها، وتعتبرها "النقطة المفضلة" لتكمل منها المشوار.
- حدّث المسافات: بعد ما تختار النقطة الأقرب، بتقوم بتحديث المسافات للنقاط المجاورة لها. لو المسافة الجديدة أقصر من اللي كانت موجودة من قبل، بنحدثها.
- كرر العملية: العملية هاي بتستمر لحد ما توصل للنقطة اللي بدك إياها أو تكون كملت كل الطريق.
ليش خوارزمية دَيكسِترا ممتعة؟
- سريعة وبسيطة: خوارزمية دَيكسِترا من أسرع الخوارزميات اللي ممكن تستخدمها، وبتعطيك نتائج فعّالة بسرعة، زي الفلافل الطازة!
- بتعطي الحل الأمثل: يعني لو عايز أقصر طريق، هي بتعطيك الطريق الأفضل تماماً بدون ما تتعب في التفكير.
مثال حقيقي:
تخيل إنك في عمان وعايز تروح من وسط البلد إلى جبل القلعة. لو كنت تستخدم تطبيق خرائط على موبايلك، فخوارزمية دَيكسِترا بتشتغل وبتحسب لك أقصر وأسرع طريق بين النقاط المختلفة، عشان توصل بأقل وقت وبأقل مجهود.

المزايا والعيوب:
المزايا:
- دقة عالية: الخوارزمية بتعطيك الحل المثالي لأقصر مسار في كل الحالات.
- سريعة: بتشتغل بكفاءة حتى لو كان عندك شبكة ضخمة فيها آلاف النقاط.
العيوب:
- بتتأثر بحجم الشبكة: في بعض الحالات الكبيرة جداً ممكن الخوارزمية تكون بطيئة إذا ما استخدمنا هيكل بيانات مناسب.
- محدودة في الشبكات السلبية: لو كانت الشبكة تحتوي على مسافات سلبية، الخوارزمية ما بتقدر تشتغل بالشكل الصحيح. في هاي الحالة بنستخدم خوارزميات ثانية مثل بيلمان-فورد.
متى تستخدمها؟
لما يكون عندك شبكة من النقاط، وكل نقطة مربوطة ببعضها البعض عبر مسافات أو طرق، وبدك تلاقي أقصر طريق بين نقطتين. زي لو كنت بدك تروح من مكان لمكان تاني في الشوارع، أو لو كنت تحاول تربط خوادم الإنترنت ببعضها عشان توصل بيانات بأسرع وقت.
الخوارزميات التوافقية زي خوارزمية دَيكسِترا بتساعدنا ناخد أفضل القرارات في كل خطوة، وتوصلنا للحلول في وقت سريع وبدون ما نتعب.
الخوارزميات التوافقية زي خوارزمية دَيكسِترا بتساعدنا ناخد أفضل القرارات في كل خطوة، وتوصلنا للحلول في وقت سريع وبدون ما نتعب.

التعديل الأخير بواسطة المشرف: