الدرس 4 من 8
البحث الثنائي
- 14 دقيقة
- 6 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
من ألف مقارنة إلى عشر
01
الشرح
البحث الخطّي يمرّ على كل عنصر: مليون عنصر تعني مليون مقارنة. أما إن كانت المصفوفة مرتّبة فيكفي عشرون.
الفكرة: انظر إلى الوسط. إن طابق فقد انتهيت. إن كان أكبر من هدفك فالهدف في النصف الأيسر، وإلا فهو في الأيمن. في كل خطوة يختفي نصف ما تبقّى.
وفخّان: الشرط while (lo <= hi) بالمساواة — بدونها تفوتك آخر خانة. وحساب الوسط بـ Math.floor((lo + hi) / 2).
02
المطلوب
اكتب binarySearch(sorted, target) تُرجع الفهرس أو -1.
معايير التصحيح
6 معايير- يجد قيمة في الوسط
- يجد الأول والأخير
- يُرجع -1 لغير الموجود
- المصفوفة الفارغة تُرجع -1 بلا تعليق
- يعمل على كل خانة من مصفوفة كبيرة
- قيمة خارج المدى تُرجع -1