Différence Recherche binaire et recherche linéaire

Anonim

recherche binaire vs recherche linéaire

La recherche linéaire, aussi 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 (dans chaque itération), ce qui réduit 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 séquentiellement chaque élément d'une liste 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 (comme un tableau, une collection ou une chaîne) et l'élément qui doit être recherché. La sortie est vraie si l'élément spécifié est dans la séquence fournie ou false s'il n'est pas dans la séquence. Comme 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, il parcourra 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 plus grand que l'élément intermédiaire, il recommence 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 intermédiaire, il recommence la méthode en utilisant uniquement la moitié supérieure de la liste triée. Si l'élément recherché ne figure 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 (dans chaque itération), en fonction du résultat de la comparaison. Par conséquent, la recherche binaire s'exécute en temps logarithmique, entraînant 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. Bien que la recherche binaire fonctionne sur des listes triées, la recherche de ligne peut également fonctionner sur des listes non triées. Le classement d'une liste a généralement une complexité moyenne de n log n. la recherche linéaire est simple et directe à implémenter que la recherche binaire. Mais, la recherche linéaire est trop lente pour être utilisée avec de grandes listes en raison de sa performance moyenne de cas o (n).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 exact pour la recherche binaire pouvait être trouvé dans seulement cinq livres sur vingt.