Types d'algorithmes de recherche
Les algorithmes de recherche sont cruciaux dans de nombreux programmes. Certains cherchent dans une base de données (ex: votre dossier IRS). D'autres explorent un espace virtuel (ex: meilleurs coups d'échecs). Le choix dépend de la taille/structure de la base pour une expérience utilisateur optimale.
Recherche linéaire (Linear Search)
Algorithme de choix pour listes courtes : simple, peu de code. Regarde le 1er élément → si cible, fini. Sinon 2e, etc., jusqu'à la fin.
Recherche binaire (Binary Search)
Populaire pour grosses bases ordonnées par clé numérique (IRS par n° sécurité sociale, DMV par n° permis). Débute au milieu → si cible > milieu, cherche moitié supérieure ; si < milieu, moitié inférieure. Répète en divisant par 2 à chaque fois jusqu'à trouver. Plus complexe que linéaire, mais bien plus rapide sur gros volumes.
Recherche arborescente (Tree Search)
Ne fonctionne que si données structurées en arbre. Racine → quelques branches → chacune vers quelques autres, etc. Ex: échecs. Position actuelle = racine. Coups légaux = niveau 1, etc. jusqu'à meilleure position.
Algorithme génétique (Genetic Algorithm)
Technique d'intelligence artificielle. Cherche une « solution optimale » exprimée comme chaîne de données (ex: dimensions internes moteur à réaction pour poussée max). Débute avec population aléatoire de chaînes, teste chacune, garde les meilleures, les « croise » pour génération suivante. Répète jusqu'à solution optimale.
