أنشئ مخططًا انسيابيًا لخوارزمية البحث الثنائي
حول الإطار
يبحث هذا المخطط الانسيابي المؤلف من عشر عقد عن هدف داخل مصفوفة مرتبة. يهيّئ low إلى الصفر وhigh إلى n ناقص واحد، ثم يتحقق مما إذا كان low أصغر من أو يساوي high، ويحسب نقطة المنتصف. إذا تطابقت القيمة، يعيد mid؛ وإلا فتحدد مقارنة ثانية الحد الذي ينبغي تغييره.
تعيّن خطوتا التحديث low إلى mid زائد واحد أو high إلى mid ناقص واحد، ثم تعودان إلى فحص الحدود. عند استنفاد النطاق، يعيد التدفق القيمة -1. يكتب مربع نقطة المنتصف (low+high) / 2 من دون توضيح التقريب إلى عدد صحيح، لذا يلزم توضيح هذه التفاصيل في نسخة موجهة للبرمجة.
استخدم المخطط لتتبّع العملية يدويًا باستخدام مصفوفة مرتبة صغيرة. سجّل قيم low وhigh وmid بعد كل تكرار، وجرّب أهدافًا موجودة وأخرى غير موجودة. يعيد المثال فهرس القيمة المطابقة، لكنه لا يتضمن فرعًا خاصًا للعثور على أول قيمة مكررة.
ما المدرج
مخطط انسيابي لخوارزمية البحث الثنائي
✦ Free preview · Sign in to use
الأسئلة الشائعة
يفترض المثال أن المصفوفة مرتبة. وتعمل المقارنات على تضييق النطاق اعتمادًا على هذا الترتيب؛ فالفرز ليس خطوةً مضمّنة في المخطط.
لا يوضّح المربع طريقة التقريب. في النسخة المعتمدة على الفهارس، اجعل التقريب إلى عدد صحيح صريحًا، مثل: low + floor((high-low)/2).
تتكرر تحديثات الحدود حتى يصبح low أكبر من high. ثم يعيد فرع No الناتج -1 من الشرط low <= high.
مجاني للبدء. لا حاجة لبطاقة ائتمان.