ما هو البحث الثنائي ؟
Context:في علوم الكمبيوتر، البحث الثنائي، المعروف أيضًا باسم البحث النصف الفاصل، البحث اللوغاريتمي، أو البحث الثنائي، هو خوارزمية بحث تجد موقع القيمة المستهدفة داخل مصفوفة مرتبة. البحث الثنائي يقارن القيمة المستهدفة بالعنصر الأوسط في المصفوفة. إذا لم تكن متساوية، يتم القضاء على النصف الذي لا يمكن أن يكمن فيه الهدف ويستمر البحث في النصف المتبقي، مرة أخرى أخذ العنصر الأوسط للمقارنة مع القيمة المستهدفة، وتكرار هذا حتى يتم العثور على القيمة المستهدفة. إذا انتهى البحث مع أن النصف المتبقي فارغ، فإن الهدف ليس في المصفوفة.  البحث الثنائي يعمل في وقت لوغاريتمي في أسوأ الحالات، مما يجعل  مقارنات log n، حيث  n هو عدد العناصر في المصفوفة. [a] البحث الثنائي أسرع من البحث الخطي باستثناء المصفوفات الصغيرة. ومع ذلك ، يجب فرز المصفوفة أولاً لتطبيق البحث الثنائي. هناك هياكل بيانات متخصصة مصممة للبحث السريع ، مثل جداول التجزئة ، والتي يمكن البحث عنها بشكل أكثر كفاءة من البحث الثنائي. ومع ذلك، يمكن للبحث الثنائي حل مجموعة أوسع من المشاكل، مثل العثور على أصغر أو أكبر عنصر في المصفوفة بالنسبة إلى الهدف حتى لو كان غائباً من المصفوفة.  هناك العديد من الاختلافات في البحث الثنائي. على وجه الخصوص، التسلسل الكسري يسرع البحث الثنائي لنفس القيمة في صفوف متعددة. يُحل التسلسل الكسري بكفاءة العديد من مشاكل البحث في الهندسة الحاسوبية والعديد من المجالات الأخرى. البحث الأسي يمتد البحث الثنائي إلى قوائم غير محدودة. شجرة البحث الثنائية وهياكل بيانات شجرة B تستند إلى البحث الثنائي.
البحث الثنائي هو خوارزمية بحث تجد موقع القيمة المستهدفة في صفيف مرتب. إنه يزيل النصف الذي لا يمكن أن تكمن فيه القيمة المستهدفة. يبحث عن القيمة في النصف الآخر. ويستمر هذا من خلال تكرار العنصر الأوسط للمقارنة مع القيمة المستهدفة حتى يتم العثور على القيمة المستهدفة. البحث الثنائي أسرع من البحث الخطي باستثناء المصفوفات الصغيرة.