Binary Search
البحث الثنائي يعمل فقط إذا كانت البيانات مرتبة. يقارن بالمنتصف ثم يتجاهل نصف القائمة في كل خطوة.
[1, 3, 5, 7, 9, 11, 13]
target = 11
mid = 7 → نذهب يمينًا
mid = 11 → وجدناه
لماذا هو سريع؟
لأنه لا يفحص كل العناصر؛ كل خطوة تقسم مساحة البحث إلى النصف.
في 1024 عنصرًا، قد تحتاج تقريبًا 10 خطوات فقط لأن 2¹⁰ = 1024.
تحدي سريع: افتح المحاكي وجرب نفس الخوارزمية على مصفوفة عشوائية ثم على مصفوفة شبه مرتبة. هل تغير عدد المقارنات؟
🚀 جرّب في المحاكي