English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Java

Java contrôle de flux

Java tableau

Java orienté objet (I)

Java orienté objet (II)

Java orienté objet (III)

Gestion des exceptions Java

Java List

Java Queue (file d'attente)

Java Map collection

Java Set collection

Java Entrée/Sortie (I/O)

Java Reader/Writer

Autres sujets Java

Implémentation de l'algorithme de recherche binaire dans un programme Java

Java Examples

Dans cet exemple, nous allons apprendre à implémenter l'algorithme de recherche binaire en Java.

Avant de comprendre l'implémentation de la recherche binaire en Java, assurez-vous que vous comprenez le principe de l'algorithme de recherche binaire.

Exemple : programme Java pour implémenter l'algorithme de recherche binaire

import java.util.Scanner;
//Recherche binaire en Java
class Main {
  int binarySearch(int array[], int element, int low, int high) {
    //Répéter ce processus jusqu'à ce que les pointeurs haut (high) et bas (low) soient égaux
    while (low <= high) {
      //Obtenir l'index de l'élément mid
      int mid = low + (high - low) / 2;
      //Si l'élément à chercher est l'élément mid
      if (array[mid] == element)
        return mid;
      //Si l'élément est inférieur à l'élément mid
      //Chercher uniquement à gauche de mid
      if (array[mid] < element)
        low = mid + 1;
      //Si l'élément est supérieur à l'élément mid
      //Chercher uniquement à droite de mid
      else
        high = mid - 1;
    }
    return -1;
  }
  public static void main(String args[]) {
    //Créer un objet de la classe Main
    Main obj = new Main();
    //Créer un tableau trié
    int[] array = { 3, 4, 5, 6, 7, 8, 9 };
    int n = array.length;
    //Obtenir l'entrée de l'utilisateur, élément à chercher
    Scanner input = new Scanner(System.in);
    System.out.println("Entrer l'élément à chercher:");
    //Élément à chercher
    int element = input.nextInt();
    input.close();
    //Appeler la méthode de recherche binaire
    //Passer les paramètres: tableau, élément, index du premier et du dernier éléments
    int result = obj.binarySearch(array, element, 0, n - 1);
    if (result == -1)
      System.out.println("Non trouvé");
    else
      System.out.println("Trouver l'élément, à l'index " + result);
  }
}

Sortie1

Entrer l'élément à chercher:
6
Trouver l'élément, à l'index  3

Ici, nous avons utiliséClasse Scanner JavaObtenir l'entrée de l'utilisateur. Selon l'entrée de l'utilisateur, nous avons utilisé la recherche binaire pour vérifier si l'élément existe dans le tableau.

We can also use recursive calls to perform the same task.

  int binarySearch(int array[], int element, int low, int high) {
    if (high >= low) {
      int mid = low + (high - low) / 2;
      // Check if the mid element is the element being searched
      if (array[mid] == element)
        return mid;
      //Search the left half of mid
      if (array[mid] > element)
        return binarySearch(array, element, low, mid - 1);
      //Search the right half of mid
      return binarySearch(array, element, mid + 1, high);
    }
    return -1;
  }

Here, the method binarySearch() will call itself until the element is found or the if condition fails.

Java Examples