Recherche binaire vs recherche linéaire
La recherche linéaire, également appelée recherche séquentielle, est l'algorithme de recherche le plus simple. Il recherche une valeur spécifiée dans une liste en vérifiant chaque élément de la liste. La recherche binaire est également une méthode utilisée pour localiser une valeur spécifiée dans une liste triée. La méthode de recherche binaire divise par deux le nombre d'éléments vérifiés (à chaque itération), réduisant ainsi le temps nécessaire pour localiser l'élément donné dans la liste.
Qu'est-ce que la recherche linéaire?
La recherche linéaire est la méthode de recherche la plus simple, qui vérifie chaque élément d'une liste de manière séquentielle jusqu'à ce qu'il trouve un élément spécifié. L'entrée de la méthode de recherche linéaire est une séquence (telle qu'un tableau, une collection ou une chaîne) et l'élément à rechercher. La sortie est vraie si l'élément spécifié est dans la séquence fournie ou fausse si elle n'est pas dans la séquence. Puisque cette méthode vérifie chaque élément de la liste jusqu'à ce que l'élément spécifié soit trouvé, dans le pire des cas, elle passera en revue tous les éléments de la liste avant de trouver l'élément requis. La complexité de la recherche linéaire est o (n). Par conséquent, il est considéré comme trop lent pour être utilisé lors de la recherche d'éléments dans de grandes listes. Mais c'est très simple et plus facile à mettre en œuvre.
Qu'est-ce que la recherche binaire?
La recherche binaire est également une méthode utilisée pour localiser un élément spécifié dans une liste triée. Cette méthode commence par comparer l'élément recherché aux éléments au milieu de la liste. Si la comparaison détermine que les deux éléments sont égaux, la méthode s'arrête et renvoie la position de l'élément. Si l'élément recherché est supérieur à l'élément central, il redémarre la méthode en utilisant uniquement la moitié inférieure de la liste triée. Si l'élément recherché est inférieur à l'élément central, il redémarre la méthode en utilisant uniquement la moitié supérieure de la liste triée. Si l'élément recherché n'est pas dans la liste, la méthode renverra une valeur unique indiquant cela. Par conséquent, la méthode de recherche binaire divise par deux le nombre d'éléments comparés (à chaque itération), en fonction du résultat de la comparaison. Par conséquent,la recherche binaire s'exécute en temps logarithmique, ce qui entraîne des performances moyennes de cas o (log n).
Quelle est la différence entre la recherche binaire et la recherche linéaire?
Même si la recherche linéaire et la recherche binaire sont des méthodes de recherche, elles présentent plusieurs différences. Alors que la recherche binaire fonctionne sur des listes triées, la recherche de ligne peut également fonctionner sur des listes non triées. Le tri d'une liste a généralement une complexité de cas moyenne de n log n. la recherche linéaire est simple et directe à mettre en œuvre que la recherche binaire. Mais, la recherche linéaire est trop lente pour être utilisée avec de grandes listes en raison de ses performances de cas o (n) moyennes. D'autre part, la recherche binaire est considérée comme une méthode plus efficace qui pourrait être utilisée avec de grandes listes. Mais la mise en œuvre de la recherche binaire pourrait être assez délicate et une étude a montré que le code précis pour la recherche binaire ne pouvait être trouvé que dans cinq livres sur vingt.