2
5
Motivations
• Considérons le problème de recherche d’une valeur a
dans une séquence <a1, a2…an> de taille n.
• Instances possibles du problème de recherche d’une
valeur:
<5,10,8,19,30>, n=5, a=10
<18, 19, 20, 48,58>, n=5, a=10
<18, 100,30,…,150>, n=100, a=19
Une instance d’un problème est constituée de
toutes les entrées nécessaires pour calculer une
solution du problème.
6
Algorithme: recherche_valeur
Entrée : tableau T, Valeur
Début
(1) I1
Tant que( (IN)(2) et (T[I] valeur)(3) )
(4) II+1
Fin tant que
(5) Si (I>N) alors
(6) écrire (valeur pas dans le tableau)
Sinon
(7) écrire (valeur dans tableau)
Fin Si
Fin
Motivations
7
Exécution à la main:
Instance 1: <5,10,8,19,30>, n=5, a=5 Instance 2: <5,10,8,19,30>, n=5, a=30
(1) I=1 (1) I=1
(2)15 vrai (2)15 vrai
(3) T[1]=5 5 faux (3) T[1]=5 30 vrai
(5) 1 5 vrai (4) I=2
(6) Retourner vrai (2)25 vrai
3) T[2]=10 30 vrai
5 instructions élémentaires (4) I=3
(2)35 vrai
(3) T[3]=8 30 vrai
(4) I=4
(2)45 vrai
(3) T[4]=19 30 vrai
(4) I=5
(2) 55 vrai
(3) T[5]=30 30 faux
(5) 5 5 vrai
(6) Retourner vrai
17 instructions élémentaires
Le nombre d’instructions élémentaires exécutées dépend de la position de la
valeur recherchée dans l’instance
Motivations
8
Motivations
Exécution à la main:
Instance 2: <5,10,8,19,30,16,22>, n=7, a=22
(1) I=1 (4) I=6
(2)17 vrai (2) 67 vrai
(3) T[1]=5 22 vrai (3) T[6]=16 22 vrai
(4) I=2 (4) I=7
(2)27 vrai (2) 77 vrai
(3) T[2]=10 22 vrai (3) T[7]=22 22 faux
(4) I=3 (5) 7 7 vrai
(2)37 vrai (6) Retourner vrai
(3) T[3]=8 22 vrai 23 instructions élémentaires
(4) I=4
(2)47 vrai
(3) T[4]=19 22 vrai
(4) I=5
(2) 57 vrai
(3) T[5]=30 22 vrai
Le nombre d’instructions élémentaires exécutées dépend de la taille de
linstance