يقول مثال هذه المقالة خوارزمية البحث عن نقطة جافا. شاركه للجميع للرجوع إليه. التفاصيل هي كما يلي:
1. المتطلب السابق: يجب فرز فرضية البحث عن نقطة اثنين من أن الصفيف الذي يجب العثور عليه.
2. المبادئ: قسّم الرقم إلى ثلاثة أجزاء ، قبل القيمة المتوسطة (الوسيط الذي يطلق عليه SO هو قيمة الوضع الأوسط للمصفوفة). ثم بدوره ، ستستمر العملية العودية في تحلل النصف الأول أو النصف الثاني إلى ثلاثة أجزاء. قد لا يتم وصفه بوضوح. من الوصف ، يمكن ملاحظة أن هذه الخوارزمية مناسبة للتكرار ، ويمكن تنفيذ أولئك الذين هم عودية مع دورات. لذلك ، ينقسم تنفيذنا إلى نوعين: التكرار والدورة.
تنفيذ الكود:
الفئة العامة BinarySearch {public static void main (string [] {int searcharrrrrr [] println (binsearch (SearchArrrrrr ، 0 ، searcharr.length-99)) ؛ end -start)/2 + start ؛ (arr ، 0 ، mid -1 ، sear) ؛} آخر إذا (sear> arr [mid]) {return binsearch (arr ، mid+1 ، end ، sear) ؛} return -1 ؛} // cycle اثنين int int int int arr [] int) {int mid = arrr.length/2 ؛ ابدأ)/2+ابدأ ؛ ]) {start = mid+1 ؛}} return -1 ؛}مقارنة الكفاءة:
كفاءة خوارزمية البحث على دوبلكس الدورة أعلى من خوارزمية البحث المزدوجة المتكررة
من المأمول أن يكون هذا المقال مفيدًا لتصميم برنامج Java للجميع.