[JAVA] Recherche binaire Méthode de recherche dichotomisée

Recherche binaire Méthode de recherche dichotomisée

Méthode de recherche pour rechercher tout en réduisant la plage de moitié

mérite

La vitesse de recherche est rapide

Démérite

Les données doivent être pré-alignées

BinarySerch.java



class BinarySerch{
  public static void main(String[] args){
   //Tableau trié à rechercher
   int a[] = {1,3,6,8,10};
   //Valeur à rechercher
   int serchValue = 3;
   //La valeur initiale du numéro de séquence des données trouvées est une valeur d'erreur (-1)
   int find = -1;

   //Numéros les plus à gauche et à droite à rechercher
   int left = 0;
   int right = a.length-1;
   //Répétez quand il y a des données sur les bords gauche et droit à vérifier
   while(left <= right){
     //Spécifiez la position pour vérifier le nombre au milieu de la gauche et de la droite
     int middle = (int)((left + right)/2);
     //Comparez la valeur de la position à rechercher avec la position à rechercher
     if(a[middle] == serchValue){
        //S'ils sont identiques, enregistrez le numéro et terminez l'itération
        find = middle;
        break;
    }else if (a[middle] < serchValue){
    //Si elle est inférieure à la valeur que vous recherchez, déplacez le bord gauche
     left = middle + 1;
    }else {
    //S'il est supérieur à la valeur que vous recherchez, déplacez le bord droit
    right = middle - 1;
    }
  }
  //Afficher les résultats de la recherche
  System.out.println("Résultats de recherche:" + find);
 }
}

Livre de référence [Algorithme d'apprentissage agréable et livre illustré de programmation](https://www.amazon.co.jp/%E6%A5%BD%E3%81%97%E3%81%8F%E5%AD%A6%E3%81] % B6-% E3% 82% A2% E3% 83% AB% E3% 82% B4% E3% 83% AA% E3% 82% BA% E3% 83% A0% E3% 81% A8% E3% 83% 97% E3% 83% AD% E3% 82% B0% E3% 83% A9% E3% 83% 9F% E3% 83% B3% E3% 82% B0% E3% 81% AE% E5% 9B% B3% E9% 91% 91-% E6% A3% AE-% E5% B7% A7% E5% B0% 9A-ebook / dp / B01N56TW48)

Recommended Posts

Recherche binaire Méthode de recherche dichotomisée
Méthode de recherche par bisection
Méthode de recherche
Méthode de recherche arbitraire dans un tableau utilisant la recherche binaire
méthode to_i
java (méthode)
Méthode getRequestDispatcher ()
méthode de fusion
Une histoire sur l'écriture d'une méthode de dichotomie lors d'une session d'étude en interne
Méthode de la carte
J'ai essayé de résoudre la recherche binaire d'AOJ
inclure la méthode
Méthode abstraite
méthode d'initialisation
Méthode de liste
met méthode
Recherche linéaire
Méthode Java
Méthode de classe
méthode save!
Méthode getParameter
[Java] méthode
[Rails] Résumé des méthodes de conversion / vérification / recherche
méthode privée
méthode des rails
Mémorandum d'arbre bifurqué pour les débutants (Partie 5 Arbre de recherche bifurqué)
[Java] méthode
Introduction aux algorithmes avec java-Search (recherche complète, recherche de bisection)
Implémentez l'algorithme dans Ruby: Day 3-Dichotomy-
Mémorandum d'arbre bifurqué pour les débutants (Partie 2 Recherche d'arbres bifurqués)