خوارزميات جافا سكريبت: البحث الخطي

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

تنفيذه بسيط للغاية:

const linearSearch = (list, item) => {
  for (const [i, element] of list.entries()) {
    if (element === item) {
      return i
    }
  }
}

هذا يعيد فهرس العنصر الذي نبحث عنه. مثال:

linearSearch(['a', 'b', 'c', 'd'], 'd') //3 (index start at 0)

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

ولكن إذا بحثنا عن العنصر الأخير ، فإن الخوارزمية تحتاج إلى المرور عبر كل المصفوفة. لحساب قيمة Big O ، ننظر دائمًا إلى السيناريو الأسوأ.

لذلكتعقيد الخوارزميةيكونO(n).


المزيد من دروس js: