بدأت تعلم البرمجة منذ فترة قريبى ومررت على الخوارزميات مؤخرا، لا أنكر أنها أفادتني بطريقة التفكير بشكل عام، لكن هل هي مهمة لاتباعها بكل عملية برمجية، ألا يمكنني المتابعة بدونها، باختصار ما أهميتها للبرمجة؟
ما هي أهمية الخوارزميات في البرمجة؟
فكرة الخوارزمية هي حل مشكلة ما من خلال مجموعة من الخطوات المنظمة التي يتم تنفيذها بشكل متتابع، ويمكننا أن نعتبر أن أي حل منظم لأي مشكلة مُحددة يُعتبر خوارزمية
ألا يمكننا استخدام الخوارزمات لمنع المشاكل من الأساس؟ يعني لو افترضنا أننا بصدد صُنع روبوت أليس من الأفضل أن نضع الخوارزمات بشكل صحيح منذ البداية بحيث نمنع حدوث أيّ مشكلة في المستقبل، وعلى أسوأ الظروف لو لم تنجح أيّ خوارزمية منهم بإمكاننا تعديلها وإصلاحها.
هذا الأمر ليس متاحًا في كثير من الأحيان، فالبشر يخطئون بشكل طبيعي، لذلك قد تحتوي الخوارزمية نفسها على أخطاء، ويجب إصلاحها بعد ذلك عند إكتشاف الخطأ، أيضًا يوجد مشاكل في حد ذاته لا يمكن توقعها بسهولة أو تحدث خارج قدرة البشر على التحكم بها.
على سبيل المثال قد يتم إنشاء منتدى بسيط للنقاش بين المستخدمين، ولكن إذا زاد عدد المستخدمين بشكل ضخم يصبح الموقع بطيء نوعًا، لذلك يجب إعادة حل هذه المشكلة من خلال إستخدام خوارزميات أفضل في التعامل مع عدد كبير من البيانات وهياكل بيانات منظمة أكثر. وقد نتسأل لماذا لم نقم من البداية بإستخدام هذه الخوارزميات وهياكل البيانات لكي لا تظهر المشكلة من الأساس، ولكن ليس دائمًا إستخدام يكون هذا الأمر متاحًا لأن مثل هذه الخوارزميات تستهلك قدر أكبر من قدرة الحاسوب التشغيلية وتكلفة أكبر لتشغيلها، وقد تحتاج إلى ظروف معينة لكي تعمل بشكل مثالي.
ولكن ليس دائمًا إستخدام يكون هذا الأمر متاحًا لأن مثل هذه الخوارزميات تستهلك قدر أكبر من قدرة الحاسوب التشغيلية وتكلفة أكبر لتشغيلها، وقد تحتاج إلى ظروف معينة لكي تعمل بشكل مثالي.
ولكن فيما بعد سنضطر لإضافتها لحل المشكلة وستظل تلك المشاكل قائمة أيضًا "تستهلك قدر أكبر من قدرة الحاسوب التشغيلية وتكلفة أكبر لتشغيلها، وقد تحتاج إلى ظروف معينة لكي تعمل بشكل مثالي" إذن ماذا سنفعل حينها لتجنب تلك العقبات.
التعليقات