Questions sur la mécanique et la mise en œuvre des algorithmes de recherche. * NON * pour les questions sur l'utilisation des outils de recherche dans une API (par exemple Google, Bing, Facebook).

La recherche est l'une des tâches les plus courantes et les plus importantes de Informatique →.

L'algorithme de recherche le plus élémentaire est une linear-search(également appelée "recherche séquentielle"). Chaque élément d'une collection de données est examiné en séquence jusqu'à ce que l'élément recherché soit trouvé.

Si la collection en question a déjà été triée, par exemple, une binary-searchplus efficace est possible.

La recherche peut devenir plus complexe lorsque, plutôt que de rechercher une instance d'un élément spécifique, nous voulons trouver tous les éléments répondant à un certain ensemble de critères. Par exemple, une requête sqlpeut spécifier des critères de recherche extrêmement complexes, et une grande partie de la conception de bases de données relationnelles implique la planification d'un moyen efficace d'effectuer ces recherches.

Un autre scénario de recherche plus complexe est la recherche de graphiques, dans laquelle une série de nœuds et d'arêtes doit être traversée. Les algorithmes courants pour ce domaine incluent breadth-first-searchet depth-first-search. Dans de nombreux cas, un algorithme de recherche heuristique tel que a-starpeut obtenir des résultats plus efficaces en utilisant des informations supplémentaires sur le problème.


N'utilisez pas cette balise pour des questions sur des outils de recherche spécifiques dans une API. Quelques balises plus pertinentes pour cela seraient les suivantes: