Types d'algorithmes de recherche

Mère et père embrassant une fille sur un tapis

Une famille utilise un ordinateur portable.

Crédit d'image : altrendo images/Stockbyte/Getty Images

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 de l'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 courtes, car elle 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 examine l'élément suivant et continue à travers chaque entrée de la liste.

Vidéo du jour

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 numéro de sécurité sociale et les enregistrements DMV saisis par 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 numéro cible est inférieur au numéro du milieu, la recherche se poursuivra avec la moitié inférieure de la base de données. Il continue de répéter 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 d'arbre

Une recherche arborescente ne fonctionne que si les données s'intègrent dans une structure arborescente. La base de données commence à une racine qui va à quelques éléments, chacun d'eux va à quelques éléments supplémentaires et ainsi de suite jusqu'à ce que vous ayez une arborescence. Un exemple est le jeu d'échecs. La position actuelle du conseil d'administration est la racine. Les mouvements légaux à partir de cette position représentent un pas en 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 par algorithme génétique 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'elles, en conservant les meilleures et en les reproduisant pour obtenir la prochaine génération. Le programme continue de répéter ce processus jusqu'à ce qu'il arrive à une chaîne de solution optimale.