ما الخوارزميات؟

مقدمة للخوارزميات و بعض الأمثلة عليها

Zero To 0neمنذ 6 سنوات

الخوارزميات

 

تعّرف الخوارزميات في علوم الحاسب بأنها:

مجموعة من الأوامر لحل مشكلة معينة بشكل صحيح و بافضل كفاءة.

في الغالب يعبر عنها بـ pseudo code التي تحدد قبل بداية كتابة أي برنامج سواء كان ذهنيا أو كتابيا على ورق، لكن مع مرور الزمن و تطور العلم أصبح هناك خوارزميات ثابتة تستخدم لأغراض متعددة حسب احتياج البرنامج له.

مثال بسيط على pseudo code باللغة العربية :

- ادخل عددين.

- اختر العملية الحسابية.

- اضغط على زر احسب.

- قم بعملية الحساب.

- اطبع ناتج العملية على الشاشة.

هناك أشكال مختلفة لعرضه منها Flow chart تقوم بعرض و توضيح pseudo code بشكل رسومي.

 

من أشهر أنواع الخوارزميات التي تستخدم في عمليات البحث في المشاريع المختلفة هي:

  • BFS) Breadth First Search) .
  • DFS) Depth First Search) .

صورة توضح عملية BFS

(Breadth First Search (BFS :

BFS هي عبارة عن احدى الخوارزميات المستخدمة في عملية البحث و تعتبر أسرع بالنسبة لـ DFS ، تعتمد على tree graph (تكون البيانات منظمة على شكل tree) ، تبدأ بالبحث من root node و من ثم child node بالترتيب بينهم غالباً إن كانت البيانات المخزنة فيها من أحرف فيتم الترتيب بينها عن طريق الترتيب الأبجدي للحروف و إن كانت أرقاماً فتستخدم الترتيب التصاعدي لها في عملية البحث ، و يستمر البحث على نفس النهج مع child of inner node أي أبناء الأبناء وهكذا إلى أن يتم الحصول على البيانات المطلوبة ، هذا شرحها بشكل نظري و يفضل مشاهدة بعضا من مقاطع الفيديو عنها ليتم معرفتها بشكل أوضح.

و الآن ننتقل للنوع الثاني و هو:

(Depth First Search (DFS :

صورة توضح عملية DFS

 

DFS هي عبارة عن خوارزمية أيضاً غالبا تستخدم في عمليات البحث ، تعتمد على tree graph تبدأ بالبحث من root node  و من ثم إلى أحد child منها إلى أن نصل إلى leaf node لـ child الأول ، فإن كان ما نبحث عنه لم نجده في leaf نقوم بالتراجع تدريجيا لـ parent of child إن كان له أخ نذهب إليه و إن لم يكن نصعد ل parent of parent ، و هكذا نفعل مع كل child في tree ، هذا شرحها بالمختصر و يمكنكم الاستزادة فيه في البحث عنه.

و من الأمثلة على خوارزميات تستخدم في عمليات البحث: Binary search ، و Linear search ، و Jump search ، يمكنك البحث عنها و الاطلاع على كيفية عملها عن كثب.

إليكم هذا التحدًي :

ابحث عن الحرف G باستخدام BFS و DFS و اكتب التسلسل الذي اتبعته ، و من ثم شاركنا اجابتك في التعليق .

 

أتمنى أنكم استمتعتم في هذا المقال ، موعدنا معكم في مقال جديد

كلمات دليلية: algorithm
2
إعجاب
7139
مشاهدات
0
مشاركة
0
متابع

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !