1. Konsep rekursif
Teknik pengaturcaraan di mana program memanggil dirinya sendiri dipanggil rekursi. Jadikan masalah berskala besar kepada masalah berskala kecil Masalahnya tetap sama dan skalanya menjadi lebih kecil.
2. Dua premis
Syarat penamatan - apabila syarat tertentu dipenuhi, fungsi mengembalikan nilai tertentu dan tidak lagi memanggil secara rekursif
Panggilan secara rekursif ——Fungsi memanggil dirinya sendiri, dan nilai inputnya lebih dekat dengan keadaan penamatan
3. Contoh carian binari rekursif
/** * 递归实现二分查找 * @param arr * @param left * @param right * @param val * @return */ private static int binarySearch(int[] arr, int left, int right, int val) { if (val < arr[left] || val > arr[right] || left > right) { return -1; } int middle = (left + right)/2; if(val < arr[middle]){ return binarySearch (arr,0,middle-1,val); } if(val > arr[middle]){ return binarySearch (arr,middle+1,right,val); }else{ return middle; } }
Atas ialah kandungan terperinci Bagaimana untuk menggunakan rekursi dalam algoritma carian binari Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!