Maison > Java > javaDidacticiel > Comment utiliser la récursivité dans l'algorithme de recherche binaire de Java ?

Comment utiliser la récursivité dans l'algorithme de recherche binaire de Java ?

WBOY
Libérer: 2023-05-09 18:40:08
avant
886 Les gens l'ont consulté

1. Concept récursif

La technique de programmation d'un programme s'appelant lui-même est appelée récursivité. Transformez les problèmes à grande échelle en problèmes à petite échelle. Le problème reste le même et l’échelle devient plus petite.

2. Deux prémisses

Condition de terminaison - lorsque certaines conditions sont remplies, la fonction renvoie une valeur spécifique et n'appelle plus de manière récursive

Appel récursif - la fonction s'appelle elle-même et sa valeur d'entrée est plus proche de la condition de terminaison

3. Exemple récursif de recherche binaire

/**
     * 递归实现二分查找
     * @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;
        }
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal