مجلة عالم التكنولوجيا
مجلة تكنولوجية شاملة

أهم 3 أنواع من خوارزميات البحث

Top 3 Search Algorithms

خوارزميات البحث Search Algorithms هي عملية تُستخدم لتحديد موقع بيانات محددة بين مجموعة من البيانات الأخرى، ويعتبر ذلك إجراءً أساسيًا في الحوسبة وعلوم الكمبيوتر، وعند البحث عن البيانات غالبًا ما يكمن الاختلاف بين التطبيق السريع والتطبيق الأبطأ في استخدام خوارزمية البحث المناسبة.

 

وتستخدم جميع خوارزميات البحث مفتاح البحث Search Key من أجل متابعة عملية البحث، ومن المتوقع أن تحدد خوارزميات البحث حالة النجاح أو الفشل، وعادة ما يتم الإشارة إليها بواسطة true / false Boolean، وتتوفر خوارزميات بحث مختلفة مع اختلاف الهدف، كما يعتمد أداء وكفاءة هذه الخوارزميات على حجم البيانات وطريقة استخدامها.

3 من اهم خوارزميات البحث

عوامل تحدد كفاءة خوارزميات البحث

بصرف النظر عن العديد من العوامل الأخرى التي يتم أخذها في الاعتبار عند اختيار أي خوارزمية فإن العاملان الأساسيان المهمان هما الوقت والمكان؛ إذ يجب أن يكون عمل الخوارزمية سريعًا بحيث تستغرق وقتًا أقل لتنفيذ المهمة “عامل الوقت”، وأيضًا يجب أن تستخدم العملية الحد الأدنى من المساحة “عامل المكان”.

 

أين يتم استخدام خوارزميات البحث؟

تُعد خوارزميات البحث جزءًا مهمًا من أي تطبيق، فمثلًا عند إجراء مكالمة من أي هاتفك خلوي تبحث البرامج الموجودة في الهاتف عن رقم الهاتف المطلوب ليقوم بإجراء مكالمة له، وبالمثل عندما تكتب اسمًا على منصة الوسائط الاجتماعية المفضلة لديك مثل فيسبوك Facebook يبحث التطبيق عن هذا الاسم في قاعدة البيانات الضخمة الخاصة Big Data به، وفي الوقت الحاضر يعرف الجميع محركات البحث مثل Google   Bing وغيرهما.

وتُعتبر خوارزميات البحث جزءًا مهمًا من كل تلك المحركات، كما لا يمكننا التفكير في أي تطبيق لا يتم فيه استخدام خوارزميات البحث بشكل أو بآخر.

أنواع خوارزميات البحث

باعتبار العاملين اللذين ذكرناهما ويحددان فعالية خوارزميات البحث Search Algorithms والتسليم بأهميتهما في عمل الخوارزمية فمن الضروري أن يتم أخذهما في الاعتبار عند اختيار الخوارزمية؛ وذلك اعتمادًا على متطلبات Requirements وحجم البيانات Data Volume، ويتم تحديد خوارزمية بحث معينة لهذا الغرض.

 

أهم خوارزميات البحث

خوارزميات البحث – خوارزمية البحث الخطي Linear Search

أول بحث في قائمة خوارزميات البحث المهمة هو البحث الخطي Linear Search، وهو خوارزمية بحث بسيطة للغاية؛ إذ يتم في هذا النوع من البحث إجراء بحث تسلسلي عن جميع العناصر واحدًا تلو الآخر one by one ويتم فحص كل عنصر على حدة وإذا تم العثور على تطابق يتم إرجاع هذا العنصر المحدد وإلا يستمر البحث حتى نهاية جمع البيانات، وإذا لم يتم العثور على العنصر حتى نهاية جمع البيانات تقوم الخوارزمية بإرجاع قيمة منطقية “خطأ” “false”؛ أي لم يتم العثور على عنصر المعنى.

3 من اهم خوارزميات البحث

كيف تعمل خوارزمية البحث الخطي؟

يتبع البحث الخطي عدة خطوات تبدأ بتهيئة المتغير المنطقي إلى خطأ؛ حيث تبدأ من العنصر الموجود في أقصى اليسار “الأول” في المصفوفة وواحدًا تلو الآخر تقارن العنصر الذي نبحث عنه مع كل عنصر في المصفوفة، وإذا كان هناك تطابق بين العنصر الذي تبحث عنه والعنصر الحالي للمصفوفة تقوم بإرجاع موضع العنصر وجعل المتغير المنطقي الموجود = صحيح “True”.

إذا وجدت = خطأ “false ” فلن يتم العثور على العنصر.

 

خوارزمية البحث الثنائي

البحث الثنائي هو خوارزمية مستخدمة على نطاق واسع للبيانات المصنفة، ويُعد نوعًا متقدمًا من خوارزمية البحث التي تبحث عن البيانات وجلبها من قائمة العناصر التي تم فرزها. ويتضمن مبدأ عملها الأساسي تقسيم مجموعة البيانات في القائمة إلى نصفين حتى يتم تحديد العنصر المطلوب وإعادته. يُطلق أيضًا على البحث الثنائي أحيانًا البحث نصف الفاصل أو البحث اللوغاريتمي.

 

3 من اهم خوارزميات البحث

كيف يعمل البحث الثنائي؟

تتبع خوارزمية البحث الثنائي خطوات بتبدأ عملية البحث عن طريق تحديد موقع العنصر الأوسط في مجموعة البيانات التي تم فرزها، ثم تليها خطوة تهيئة المتغير المنطقي إلى خطأ ثم تتم مقارنة القيمة الرئيسية بالعنصر الحالي.

فإذا كانت قيمة المفتاح أكبر من العنصر الأوسط سيحلل البحث القِيَم العليا للعنصر الأوسط للمقارنة والمطابقة، أما في حالة كانت قيمة المفتاح أصغر من العنصر الأوسط  فيقوم البحث بتحليل القِيَم الدنيا للعنصر الأوسط للمقارنة والمطابقة.

وفي حالة تساوي قيمة المفتاح مع العنصر الأوسط  أعد موضع العنصر الحالي  واجعل المتغير المنطقي = صحيحًا “True”.

إذا وجدت = خطأ “false “، فلن يتم العثور على العنصر.

 

خوارزمية البحث السريع Jump Search

البحث السريع مثله مثل البحث الثنائي؛ حيث يعد Jump Search خوارزمية بحث عن المصفوفات المصنفة، والفكرة الأساسية هي التحقق من عدد أقل من العناصر “من البحث الخطي”؛ من خلال القفز إلى الأمام بخطوات ثابتة أو تخطي بعض العناصر بدلًا من البحث في جميع العناصر، وربما هذا هو سبب احتلالها مكانًا في قائمة خوارزميات البحث المهمة.

3 من اهم خوارزميات البحث

 

لنفكر في مصفوفة مرتبة A بالحجم n ،مع فهرس يتراوح من 0 إلىn-1  والعنصرx  الذي يحتاج إلى البحث في المصفوفة A لتنفيذ هذه الخوارزمية، وتلزم أيضًا كتلة بحجم m والتي يمكن أن تكون تخطيًا أو قفزًا في كل تكرار.

إننا في عصر يشهد على أهمية  الخوارزميات في حل الكثير من المهام اليومية والتي لن نكون قادرين على حلها بالطرق التقليدية، كما أن خوارزميات البحث تجعل حياة البشر أكثر راحةً وقد تتمكن في المستقبل من التنبؤ بسلوك الإنسان.

الرابط المختصر :
close

مرحبا 👋

سعداء بالتواصل معكم
قم بالتسجيل ليصلك كل جديد

نحن لا نرسل البريد العشوائي! اقرأ سياسة الخصوصية الخاصة بنا لمزيد من المعلومات.

اترك رد

لن يتم نشر عنوان بريدك الإلكتروني.