search

C1-ALGO-05.01 Algorithmes classiques (Recherche)#

Algorithmes de recherche#

Un algorithme de recherche consiste à trouver une cible parmi une liste d’éléments. Par exemple : la liste est : [1,4,67,34,109,69,23] et la cible 69.

Les algorithmes de recherche peuvent se classer en deux catégories:

  1. Recherche dans des problèmes classiques

  2. Recherche dans des problèmes complexes

S’agissant des problèmes complexes, les solutions dépassent le cadre de ce cours

Recherche séquentielle#

La recherche linéaire consiste à parcourir chaque élément de la liste et le comparer à la cible.

Recherche dichotomique#

La recherche dichotomique consiste à rechercher la cible dans la liste triée en divisant la liste par deux et en comparant la cible avec les deux éléments bornes des sous-listes. Si la cible est égale, l’algorithme s’arrête, sinon la recherche continue sur les moitiés de sous-listes.

A retenir#

Le meilleur algorithme pour rechercher une cible :

  • dans une liste non triée est d’ordre linéaire (il faut parcourir tous les éléments pour trouver la cible)

  • dans une liste triée est d’ordre logarithmique (on divise chaque fois par deux le nombre d’éléments pour trouver la cible)