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

0 189

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

ذكرنا أن للخوارزميات أنواع كثيرة منها خوارزميات البحث والفرز، والخوارزميات التراجعية والطموحة وخوارزميات فرّق تَسُد، وغيرها… لذا سنكمل في هذه المقال رحلتنا الشيقة مع الخوارزميات، ونبدأ  بـ خوارزميات البحث لما لها من دورٍ أساسيٍ في تطوير حلول للمسائل البرمجية.

ما هي خوارزمية البحث الخطي؟

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

ماهي آلية عمل الخوارزمية؟

يتمّ البحث ضمن مصفوفة ما دون اشتراط ترتيب العناصر، إذ تتم مقارنة القيمة المطلوب البحث عن موقعها مع كل عنصر تسلسليًا باتباع دليل المصفوفة (من بداية المصفوفة حتى نهايتها) حتى يتم إيجادُ هذه القيمة. يمكنك العودة إلى المقال للتعرف على المصفوفات أكثر.

على سبيل المثال، فلنعتبر بأن لدينا مصفوفة حجمها N ( أي تحتوي على N عنصر) ونريد أن نجد موقع القيمة X ضمنها، ماذا سنفعل؟

سنقوم بقراءة المصفوفة ابتداءً بالعنصر الأول حتى العنصر الأخير، وعند تحديد موقع القيمة (في حال إيجادها) نقوم بطباعة الموقع (دليل الخانة التي تحتوي على هذه القيمة).

مثال برمجي يوضّح الخطوات:

درجة تعقيد الخوارزمية Time Complexity:

تعقيد خطي؛ ON من الرتبة N (أي عدد العناصر) لأنه يتمّ المرور على كل عناصر المصفوفة أثناء عملية البحث.

 

  • إعداد: صامد الحجاجلة
  • مراجعة: نور عبدو
  • تدقيق لغوي: مروى بوسطه جي
تعليقات
Loading...