Fiche d’exercices de Algorithmes et complexité avec corrigé
Fiche d’exercices de Algorithmes et complexité gratuite et imprimable : 8 exercices, du niveau facile au niveau examen, avec corrigé. Imprimez-la ou enregistrez-la en PDF.
Pour les enseignants : gratuite à imprimer, copier et utiliser en classe. Chaque nouvelle fiche a de nouvelles valeurs et son propre corrigé. Un lien vers ExamProblems sur la page de votre cours est apprécié.
Nom: ____________________ Date: ____________
1.Facile
Quelle est la complexité temporelle de la recherche dichotomique dans un tableau trié ?
AO(n)
BO(1)
CO(n log n)
DO(log n)
2.Facile
Que vaut log₂ 1024 ?
A512
B32
C12
D10
3.Facile
Qu'est-ce que la mémoïsation ?
ALibérer la mémoire après le retour d'une fonction
BConvertir automatiquement une récursion en boucle équivalente, si bien qu'aucune pile d'appels n'est nécessaire
CÉcrire des commentaires à côté de chaque ligne de code
DStocker les résultats des appels de fonction pour répondre aux appels répétés depuis la mémoire
4.Moyen
La programmation dynamique est utile lorsqu'un problème présente :
AAucun sous-problème, de sorte qu'il peut être résolu en une seule étape
BDes sous-problèmes qui se chevauchent et une sous-structure optimale
CUne seule boucle
DUniquement des entrées aléatoires
5.Moyen
Un tri rapide utilise toujours le premier élément comme pivot. Sur quelle entrée présente-t-il son comportement de pire cas ?
AUn tableau dans un ordre aléatoire
BUn tableau déjà trié
CUn tableau de longueur 2
DUn tableau dont tous les éléments sont distincts
6.Moyen
Quelle est la solution de la récurrence T(n) = T(n − 1) + O(1) ?
AO(n)
BO(2ⁿ)
CO(n²)
DO(log n)
7.Difficile
Comment l'algorithme de Bellman-Ford détecte-t-il un cycle de poids négatif accessible depuis la source ?
AIl exécute deux fois l'algorithme de Dijkstra et compare les deux résultats de distances
BAprès V − 1 tours, il vérifie si une arête peut encore être relâchée
CIl vérifie si une arête a un poids négatif
DIl compte les cycles par un parcours en profondeur
8.Difficile
Quelle définition de la classe P est correcte ?
ALes problèmes de décision résolubles par un algorithme déterministe en temps polynomial
BLes problèmes qui peuvent être résolus en parallèle
CLes problèmes dont les solutions peuvent être vérifiées mais jamais trouvées en temps polynomial
DLes problèmes qui demandent un temps exponentiel sur tout ordinateur
Corrigé
1. D · O(log n)
2. D · 10
3. D · Stocker les résultats des appels de fonction pour répondre aux appels répétés depuis la mémoire
4. B · Des sous-problèmes qui se chevauchent et une sous-structure optimale
5. B · Un tableau déjà trié
6. A · O(n)
7. B · Après V − 1 tours, il vérifie si une arête peut encore être relâchée
8. A · Les problèmes de décision résolubles par un algorithme déterministe en temps polynomial
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.