[JAVA] Méthode de recherche par bisection

J'ai eu l'occasion d'écrire une recherche de 2 minutes, je vais donc l'écrire sous forme de mémo.

Qu'est-ce qu'une recherche de 2 minutes? L'algorithme utilisé lors de la recherche de données. Vous pouvez continuer la recherche tout en réduisant la plage de données triées. Une méthode de recherche à grande vitesse.

La recherche de 2 minutes est juste un algorithme qui recherche tout en réduisant la plage de moitié à partir de l'ensemble du tableau. Vite.

Sample.java



int algorithm(int[] data, int target) {
    int retrieve = -1;
    int left = 0;
    int right = data.length - 1;
   
    while(left < right){
        int mid = (left + right)/ 2;
        if(data[mid] == target){
            return mid + 1;
        }else if(target < data[mid]){
            return right = mid;
        }else {
            return left = mid + 1;
        }
    }
    return retrieve;
}

Résumé S'il est déjà trié, il est préférable de rechercher pendant 2 minutes.

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 Java
méthode to_i
java (méthode)
Méthode getRequestDispatcher ()
Une histoire sur l'écriture d'une méthode de dichotomie lors d'une session d'étude en interne
Méthode de la carte
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)