Types d'algorithmes de recherche
Les algorithmes de recherche constituent une partie importante de nombreux programmes. Certaines recherches impliquent la recherche d'une entrée dans une base de données, comme la recherche de votre dossier dans la base de données IRS. D'autres algorithmes de recherche parcourent un espace virtuel, comme ceux qui recherchent les meilleurs coups d'échecs. Bien que les programmeurs puissent choisir parmi de nombreux types de recherche, ils sélectionnent l'algorithme qui correspond le mieux à la taille et à la structure de la base de données pour offrir une expérience conviviale.
Recherche linéaire
La recherche linéaire est l'algorithme de choix pour les listes restreintes, car il est simple et nécessite un minimum de code à implémenter. L'algorithme de recherche linéaire examine le premier élément de la liste pour voir si vous le recherchez et, si c'est le cas, vous avez terminé. Si ce n'est pas le cas, il regarde l'élément suivant et ainsi de suite chaque entrée de la liste.
Recherche binaire
La recherche binaire est un algorithme populaire pour les grandes bases de données avec des enregistrements classés par clé numérique. Les exemples de candidats incluent la base de données IRS saisie par le numéro de sécurité sociale et les enregistrements DMV saisis par les numéros de permis de conduire. L'algorithme commence au milieu de la base de données - si votre nombre cible est supérieur au nombre du milieu, la recherche se poursuivra avec la moitié supérieure de la base de données. Si votre nombre cible est inférieur au nombre du milieu, la recherche se poursuivra avec la moitié inférieure de la base de données. Il répète sans cesse ce processus, coupant la base de données en deux à chaque fois jusqu'à ce qu'il trouve l'enregistrement. Cette recherche est plus compliquée que la recherche linéaire, mais pour les grandes bases de données, elle est beaucoup plus rapide qu'une recherche linéaire.
Recherche arborescente
Une recherche arborescente ne fonctionne que si les données s'inscrivent dans une structure arborescente. La base de données commence à une racine qui va à quelques éléments, dont chacun va à quelques éléments supplémentaires et ainsi de suite jusqu'à ce que vous ayez un arbre. Un exemple est le jeu d'échecs. La position actuelle du conseil d'administration est la racine. Les coups légaux à partir de cette position représentent un pas vers le bas de l'arbre, et ainsi de suite jusqu'à ce que le joueur trouve la position du plateau qui le laisse dans la meilleure position.
Algorithme génétique
Une recherche d'algorithmes génétiques est l'une des techniques derrière l'intelligence artificielle. Il recherche une "solution optimale" exprimée sous la forme d'une chaîne de données - telle que la liste des dimensions internes d'un moteur à réaction qui fournit une poussée maximale. La recherche commence par une population aléatoire de chaînes et teste chacune d'entre elles, en gardant les meilleures et en les reproduisant pour obtenir la génération suivante. Le programme continue de répéter ce processus jusqu'à ce qu'il arrive à une chaîne de solution optimale.