الفرق بين البحث الثنائي والبحث الخطي

Anonim

البحث الثنائي مقابل البحث الخطي

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

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

الخطي البحث هو أبسط طريقة البحث، الذي يتحقق كل عنصر في قائمة بالتتابع حتى يجد عنصر محدد. المدخلات لطريقة البحث الخطي هو تسلسل (مثل صفيف أو مجموعة أو سلسلة) والبند الذي يحتاج إلى البحث. ويكون الناتج صحيحا إذا كان العنصر المحدد ضمن التسلسل المتوفر أو خطأ إذا لم يكن في التسلسل. بما أن هذه الطريقة تقوم بفحص كل عنصر في القائمة حتى يتم العثور على العنصر المحدد، في أسوأ الأحوال سوف تمر جميع العناصر الموجودة في القائمة قبل أن تجد العنصر المطلوب. تعقيد البحث الخطي هو o (n). لذلك يعتبر بطيئا جدا لاستخدامها عند البحث عن العناصر في القوائم الكبيرة. ولكن هذا هو بسيط جدا وأسهل لتنفيذ.

ما هو البحث الثنائي؟

البحث الثنائي هو أيضا طريقة تستخدم لتحديد عنصر محدد في قائمة تم فرزها. تبدأ هذه الطريقة بمقارنة العنصر الذي تم البحث عنه بالعناصر الموجودة في منتصف القائمة. إذا حددت المقارنة أن العنصرين متساويين تتوقف الطريقة وتعيد موضع العنصر. إذا كان العنصر الذي تم البحث عنه أكبر من العنصر الأوسط، فإنه يبدأ الأسلوب مرة أخرى باستخدام النصف السفلي فقط من القائمة التي تم فرزها. إذا كان العنصر الذي تم البحث عنه أقل من العنصر الأوسط، فإنه يبدأ الأسلوب مرة أخرى باستخدام النصف العلوي فقط من القائمة التي تم فرزها. إذا لم يكن العنصر الذي تم البحث عنه ضمن القائمة، فستعرض الطريقة قيمة فريدة تشير إلى ذلك. لذلك فإن طريقة البحث الثنائي تقطع عدد العناصر مقارنة (في كل تكرار)، اعتمادا على نتيجة المقارنة. وبالتالي، يعمل البحث الثنائي في وقت لوغاريتمي مما يؤدي إلى o (لوغ n) متوسط ​​أداء الحالة.

ما هو الفرق بين البحث الثنائي والبحث الخطي؟

على الرغم من أن كل من البحث الخطي والبحث الثنائي يبحثان عن طرق لديهم اختلافات عديدة. في حين أن البحث الثنائي يعمل على قوائم فرز، يمكن البحث بطانة تعمل على قوائم غير مصنفة كذلك. يحتوي تصنيف القائمة عموما على تعقيد حالة متوسط ​​n n لوغ n. البحث الخطي بسيط ومباشر لتنفيذ من البحث الثنائي. ولكن البحث الخطي بطيء جدا ليتم استخدامه مع القوائم الكبيرة بسبب س (n) متوسط ​​أداء الحالة.من ناحية أخرى، يعتبر البحث الثنائي طريقة أكثر كفاءة يمكن استخدامها مع القوائم الكبيرة. ولكن تنفيذ البحث الثنائي يمكن أن يكون صعبا للغاية وقد أظهرت دراسة أن رمز دقيق للبحث ثنائي يمكن العثور عليها في خمسة فقط من أصل عشرين الكتب.