الوجبات السريعة الرئيسية
- يعد البحث الخطي أو المتسلسل طريقة مباشرة وبديهية للعثور على شيء محدد.
- البحث الثنائي هو خوارزمية بحث فعالة للغاية لعنصر محدد في مجموعة بيانات مفروزة.
- يتضمن البحث الخطي التحقق من كل عنصر في القائمة واحدًا تلو الآخر من البداية للعثور على العنصر المستهدف. في المقابل، يتطلب البحث الثنائي قائمة مرتبة ويتكون من تقسيم القائمة بشكل متكرر إلى نصفين للعثور على العنصر المستهدف بكفاءة.
ما هو البحث الخطي؟
يعد البحث الخطي، أو البحث المتسلسل، طريقة مباشرة وبديهية للعثور على عنصر محدد في قائمة أو صفيف أو بنية بيانات. إنه يعمل عن طريق فحص كل عنصر واحدًا تلو الآخر حتى يتم العثور على العنصر المستهدف أو اجتياز مجموعة البيانات بأكملها.
يُستخدم البحث الخطي بشكل شائع عندما تحتاج إلى مزيد من المعلومات حول ترتيب البيانات أو لمجموعات البيانات الصغيرة حيث يكون الفرق في الأداء بين خوارزميات البحث الخطية والأكثر كفاءة قابلاً للتفاوض.
تعد بساطة الخوارزمية ميزة وتقييدًا في نفس الوقت. إنها مفيدة لأنها سهلة الفهم والتنفيذ، مما يجعلها خيارًا جيدًا للبيانات الصغيرة أو غير المصنفة. ومع ذلك، قد يكون التعقيد الزمني للبحث الخطي غير فعال بالنسبة لمجموعات البيانات الكبيرة. وهذا يعني أن حجم مجموعة البيانات يزداد، كما أن الوقت المستغرق للعثور على عنصر ما يزداد أيضًا بشكل متناسب.
ما هو البحث الثنائي؟
البحث الثنائي هو خوارزمية بحث عالية الكفاءة لعنصر محدد في مجموعة بيانات مفروزة. وهو يعمل عن طريق تقسيم فترة البحث إلى النصف بشكل متكرر، مما يؤدي إلى تضييق نطاق البحث حتى يتم العثور على العنصر المستهدف. تعتبر هذه الطريقة أسرع بشكل ملحوظ بالنسبة لمجموعات البيانات الأكبر حجمًا وتتسم بتعقيد زمني.
إنه فعال للغاية لأنه يزيل نصف العناصر المتبقية في كل خطوة. يؤدي أسلوب "فرق تسد" هذا إلى تقليل مساحة البحث بسرعة، مما يجعله مثاليًا للمصفوفات أو القوائم التي تم فرزها. إنها خوارزمية رئيسية تستخدم في تطبيقات علوم الكمبيوتر المختلفة، مثل البحث في قواعد البيانات واسترجاع البيانات بكفاءة والمزيد.
تعد كفاءة البحث الثنائي ميزة بارزة. ومع كل مقارنة، يتم حذف جزء كبير من مجموعة البيانات. إنه يعمل على افتراض أنه تم فرز البيانات. يمكن تنفيذه باستخدام كل من الأساليب العودية والتكرارية.
الفرق بين البحث الخطي والثنائي
- يتضمن البحث الخطي التحقق من كل عنصر في القائمة واحدًا تلو الآخر من البداية للعثور على العنصر المستهدف. في المقابل، يتطلب البحث الثنائي قائمة مرتبة، ويتكون من تقسيم القائمة إلى نصفين بشكل متكرر للعثور على العنصر الهدف بكفاءة.
- يمكن استخدام البحث الخطي في القوائم المصنفة وغير المصنفة، ولكنه أكثر فعالية في القوائم الأصغر، بينما تم تصميم البحث الثنائي بشكل صريح للقوائم المصنفة ولن يعمل على البيانات غير المصنفة.
- يتطلب البحث الخطي الحد الأدنى من المساحة الإضافية للمتغيرات، بينما يتطلب البحث الثنائي مساحة أكبر لاستدعاءات الوظائف العودية أو المتغيرات التكرارية.
- نوع الخوارزمية للبحث الخطي هو خوارزمية بحث تسلسلي، في حين أن البحث الثنائي هو خوارزمية فرق تسد.
- البحث الخطي بسيط ومناسب للقوائم الصغيرة، في حين أن البحث الثنائي أكثر تعقيدًا في التنفيذ، خاصة للمبتدئين، ولكنه فعال للغاية لمجموعات البيانات الكبيرة.
مقارنة بين البحث الخطي والثنائي
المعلمات | البحث الخطي | بحث ثنائي |
---|---|---|
طريقة البحث | التحقق من كل عنصر من البداية إلى النهاية | يتطلب قائمة مرتبة |
القابلية للتطبيق | تستخدم في كل من القوائم المصنفة وغير المصنفة | مصممة بشكل صريح للقوائم المصنفة |
تعقيد الفضاء | الحد الأدنى من المساحة الإضافية | مساحة أكبر للخلايا الوظيفية العودية أو المتغيرات التكرارية |
نوع الخوارزمية | خوارزمية البحث التسلسلي | خوارزمية فرق تسد |
سهولة التنفيذ | سهل التنفيذ ومناسب للقوائم الصغيرة | أكثر تعقيدًا في التنفيذ، خاصة للمبتدئين |