خوارزميةمجاني

البحث الخطّي

افحص العناصر واحداً تلو الآخر حتى تجد الهدف. أبسط خوارزمية من الرتبة O(n).

الزمن
O(n)
الذاكرة
O(1)

تتبّعها خطوة بخطوة

الخطوة 1 من 5
1function linearSearch(nums, target) {2  for (let i = 0; i < nums.length; i++) {3    if (nums[i] === target) return i;4  }5  return -1;6}
target
= 6
n
= 6
checks
= 1
  1. 7i
  2. 2
  3. 9
  4. 4
  5. 6
  6. 1

nums[0] = 7 لا يساوي 6. عدد الفحوص حتى الآن: 1.

كيف تعمل

يمرّ البحث الخطّي على كل عنصر بالترتيب. إن كان الهدف قريباً من البداية فالبحث سريع، لكنه في أسوأ الحالات يفحص العناصر الـ n كلها. أي أن العمل ينمو بنفس نسبة نمو المدخلات: مصفوفة بضعف الحجم تعني ضعف عدد الفحوص. هذا هو معنى O(n). راقب العدّاد checks أثناء التنقل بين الخطوات.