


Comment implémenter la recherche binaire Java à l'aide d'un algorithme récursif
Comment implémenter l'algorithme récursif de recherche binaire en Java
recherche récursive binaire de classe publique {
public static void main(String[] args) est le point d'entrée du programme Java et la position de départ de l'exécution du programme. Dans cette méthode, la logique et les fonctionnalités principales du programme peuvent être écrites. Cette méthode doit être définie dans un format spécifique avant de pouvoir être appelée et exécutée par la machine virtuelle Java. Dans la liste des paramètres de la méthode main, args est un tableau de chaînes qui peut être utilisé pour recevoir des paramètres de ligne de commande. En écrivant du code dans la méthode main, nous pouvons implémenter diverses fonctions, telles que l'impression, le calcul, la boucle, le jugement conditionnel, etc. {
//Définissez le tableau. Notez que le tableau de recherche binaire doit être un tableau ordonné !
int[] arr = { 1, 3, 5, 7, 9, 11, 13, 15, 17 }; est l'instruction de déclaration et d'initialisation d'un tableau d'entiers contenant 9 éléments. La valeur de chaque élément est 1, 3, 5, 7, 9, 11, 13, 15, 17. De cette façon, nous créons un tableau d’entiers nommé arr et lui attribuons une valeur initiale. Dans les programmes suivants, nous pouvons utiliser ce tableau pour effectuer diverses opérations, telles que la recherche, le tri et le comptage
//Accepter la valeur de retour après la recherche : valeur d'index, sinon, elle est -1;
//Test trouver l'élément : 9
int a = binaireSearch(arr, 9, 0, arr.length - 1);
System.out.println("La position d'index du numéro recherché est : " + a);
}
//La liste des paramètres est la suivante : tableau à rechercher, numéro à rechercher, index de tête, index de queue !
public static int binaire (int[] arr, int key, int start, int end) // Récursion
{
//Créez à chaque fois que vous entrez, la valeur de l'indice intermédiaire !
int mid = (étoile + fin) / 2;
Si le nombre à trouver est inférieur à l'index de départ ou supérieur à l'index de fin, ou si l'index de départ est supérieur à l'index de fin, cela signifie que le nombre n'existe pas et -1 est renvoyé.
if (touche arr[end] || start > end) {
retour -1;
}
//Si la valeur médiane est inférieure au nombre recherché, redéfinissez l'index d'en-tête et déplacez-le en position médiane +1, afin que la moitié des nombres puissent être filtrés !
if (arr[mid]
//Démarrez la récursivité !
return binaire(arr, key, mid + 1, end); // Continuer la recherche binaire dans la seconde moitié du tableau
//Sinon, si la valeur médiane est supérieure au nombre recherché, remettez l'index de queue en position médiane de -1, afin que la moitié des nombres puissent être filtrés !
} sinon si (arr[mid] > clé) {
//Démarrez la récursivité !
retour binaire(arr, clé, début, milieu - 1);
} autre {
//Si non, il est trouvé, retournez à l'index !
retour à mi-chemin ;
}
}
}
Le langage JAVA de programmation principale utilise un algorithme récursif et 1 2 3 4 100 ou 11 13 15
Première question :
cours public CalSum {
public static void main(String[] args) est le point d'entrée du programme Java et la position de départ de l'exécution du programme. Dans cette méthode, la logique et les fonctionnalités principales du programme peuvent être écrites. Cette méthode doit être définie dans un format spécifique avant de pouvoir être appelée et exécutée par la machine virtuelle Java. Dans la liste des paramètres de la méthode main, args est un tableau de chaînes qui peut être utilisé pour recevoir des paramètres de ligne de commande. En écrivant du code dans la méthode main, nous pouvons implémenter diverses fonctions, telles que l'impression, le calcul, la boucle, le jugement conditionnel, etc.
{
CalSum calSum = nouveau CalSum();
int result = calSum.calculate(100); // Appelez la méthode calculate de l'objet calSum, passez le paramètre 100 et affectez le résultat à la variable de résultat.
System.out.println("La somme de 1+2+3+...+100 est égale à" + résultat);
}
public int calculer (numéro int)
{
int résultat = 0;
si(nombre == 1)
{
résultat = 1;
}
autre
{
result = number + calculate(number - 1); Le résultat est d'ajouter le nombre actuel et la valeur de retour du nombre-1. Cette expression peut être calculée de manière récursive. Chaque fois que l'appel récursif est effectué, la valeur du nombre sera décrémentée de 1 jusqu'à ce que la récursion s'arrête lorsque le nombre est égal à 1. La valeur de retour de l'appel récursif sera continuellement accumulée dans le résultat final. De cette façon, nous pouvons obtenir la somme d’une séquence.
}
résultat de retour ;
}
}
Quels sont les algorithmes de récursivité et d'itération en Java
L'itération est une boucle normale.
Exemple : Ajouter de 1 à 10
int somme=0
pour(int i=0;i
somme=somme+i;
}
La récursion signifie qu'une fonction s'appelle directement ou indirectement.
Par exemple : Il était une fois un grand moine et un petit moine dans un temple. Le grand moine a demandé au petit moine de raconter des histoires. Le petit moine a dit qu'il était une fois un grand moine et un petit moine. dans un temple. Le petit moine a demandé au grand moine de raconter des histoires. Le grand moine a poursuivi en disant qu'il y avait un grand moine et un petit moine dans un temple, et qu'ils pratiquaient et étudiaient le bouddhisme ensemble tous les jours.
Caractéristiques de la récursivité :
Il doit y avoir trois conditions :
1. Appelez-vous indirectement ou directement.
2. Lorsque vous jouez au jeu, assurez-vous de définir les conditions de sortie. Par exemple, le grand moine arrêtera d'écouter l'histoire si sa bouche est sèche. Si les conditions de sortie ne sont pas définies, le jeu peut tomber dans une boucle infinie.
3. Il doit y avoir un corps logique (ce que vous voulez faire) ;
somme publique int(int x){si(x
retour x;
}
retour x+somme(x-1);
}
int s=10;
int total=somme(s);
Dans cet exemple, la fonction somme s'appelle toujours, return x+sum(x-1);
la somme a une condition de sortie, x
Le résultat final est de renvoyer 10+9+8+7+... 1
Dans de nombreux cas, l'itération et la récursivité peuvent réaliser la même fonction, mais il existe certaines fonctions que l'itération ne peut pas remplir. De plus, le code récursif est plus concis et une utilisation compétente de la récursivité peut améliorer la qualité du code.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

L'erreur de nuage de vapeur peut être causée par de nombreuses raisons. Pour jouer à un jeu en douceur, vous devez prendre certaines mesures pour supprimer cette erreur avant de lancer le jeu. Le logiciel PHP.CN présente certaines façons ainsi que des informations plus utiles dans cet article.

Vous pouvez voir que «une connexion aux métadonnées Windows et aux services Internet (WMIS) n'a pas pu être établie.» Erreur sur la visionneuse d'événements. Cet article de Php.cn présente comment supprimer le problème des métadonnées Windows et des services Internet.

KB5035942 MISE À JOUR LES PROBLÈMES - SYSTÈME D'ÉCRASSION PROBLÈME AUX UTILISATEURS. Les personnes infligées espèrent trouver un moyen de sortir du type de problèmes, comme le système de crash, l'installation ou les problèmes sonores. Ciblage de ces situations, cet article publié par Php.cn Wil

OneDrive est un service de stockage cloud en ligne de Microsoft. Parfois, vous pourriez trouver qu'OneDrive ne parvient pas à télécharger des photos sur le cloud. Si vous êtes sur le même bateau, continuez à lire ce post du logiciel PHP.CN pour obtenir des solutions efficaces maintenant!

Chris Titus Tech a un outil appelé Windows Utility qui peut vous aider à créer facilement une ISO Windows 11/10 débloated pour installer un système propre. Php.cn offre un guide complet sur la façon de faire cette chose à l'aide de l'outil Chris Titus.

Si vous avez un programme appelé PC App Store sur votre ordinateur et que vous ne l'installez pas délibérément, votre PC peut être infecté par le malware. Cet article de Php.cn présente comment supprimer les logiciels malveillants PC App Store.

Est-ce que Brothers: A Tale of Two Sons Remake ne se lance pas? Rencontrez Brothers: A Tale of Two Sons Remake Black Screen? Ici, ce post sur php.cn vous propose des solutions testées pour vous aider à résoudre ce problème.

Êtes-vous interrogé sur un problème que MSConfig continue de revenir au démarrage sélectif sur vos fenêtres? Comment passer au démarrage normal si vous en avez besoin? Essayez les méthodes expliquées dans ce post php.cn pour en trouver une qui fonctionne pour vous.
