ما هى الخوارزميات Algorithms فى البرمجة

ما هى الخوارزميات Algorithms فى البرمجة

لجعل جهاز الكمبيوتر يقوم بعمل اي وظيفة فإنك بحاجة إلى كتابة برنامج , ولكتابة هذا البرنامج فإنك بحاجة ان تخبر الكمبيوتر خطوة بخطوة ما الذى عليه القيام به , بعد ذلك يقوم الكمبيوتر بتنفيذ هذه الخطوات للوصول إلى الهدف النهائى المطوب .

الخطوات التى تعطيها للبرنامج لكى ينفذها الكمبيوتر يمكن ان تكتب بأكثر من طريقة وهنا يأتى دول الخوارزميات او Algorithms , فالخوارزميات هى مجموعة من الطرق والخطوات المستخدمة فى تنفيذ مهمة معينة , ولكى نفهم الموضوع أكثر إليك هذه الأمثلة .

بفرض انك تريد مقابلة صديق لك فى المطار وتوصيله من المطار إلى بيته فهناك العديد من الطرق (الخوارزميات) التى يمكن استخدامها لتنفيذ هذه المهمة .

عن طريق التاكسى :
  1. ايقاف التكسى
  2. الدخول إلى التكسى 
  3. إعطاء السائق العنوان
تأجير سيارة :
  1. الذهاب لمكان الحصول على السيارة
  2. تأجير السيارة 
  3. التوجه نحو المطار 
هذه الطرق (الخوارزميات) وغيرها من الطرق الاخر يمكنك استخدامها لتنفيذ الهدف النهائى وهو توصيل صديقك إلى المطار وكل الطرق تؤدى فى النهاية إلى نفس الهدف , ولكن كل منهم بطريقة مختلفة وبخطوات مختلفة بطبيعة الحل , فكل خوارزمية لها تكلفة Cost مختلفة , وكل منهما له زمن تنفيذ Time مختلف فالتكسى على سبيل المثال ربما اسرع طريقة ولكن فى المقابل ربما هو الاغلى .

هذا الكلام ينطبق على البرمجة فى الكمبيوتر فكل برنامج له طرق مختلفة لتنفيذ نفس المهمة وكل طريقة او Algorithm له مميزات وعيوب عند استخدامات معينة .

وتهتم دارسة الخوازميات للكمبيوتر بعاملين هامين وهما Time complexity وهو الوقت الذى يقضيه الكمبيوتر فى تنفيذ الخوارزمية , والعامل الاخر هو Space complexity وهو كمية الذاكرة التى استخدمها البرنامج لتنفيذ الخوارزمية . 

الترتيب او Sorting على سبيل المثال من انواع الخوازميات فى الكمبيوتر التى تستخدم بكثرة لترتيب العناصر لذلك هناك الكثير من الخوارزميات وهذه اشهرها :

  • Bin sort
  • Merge sort
  • Bubble sort
  • Shell sort
  • Quick sort 
كل طريقة من الطرق السابقة مناسبة لحالة معينة فعلى سبيل المثال إذا كنت تريد ترتيب مليون عدد من النوع Integer فخوارزيمة Bin Sort هى المناسبة لذلك , اما اذا اردت ترتيب مليون عنوان كتاب فربما خوارزمية Quick Sort , وعليك تحديد الخوارزمية الأنسب للمهمة عن طريق فهم نقاط القوة والضعف لك خوازمية فى مواقف مختلفة .

شارك الموضوع

مواضيع ذات صلة