Rumah > Java > javaTutorial > teks badan

Bagaimana untuk menggunakan rekursi dalam algoritma carian binari Java?

WBOY
Lepaskan: 2023-05-09 18:40:08
ke hadapan
845 orang telah melayarinya

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;
        }
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan