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
Qu'est-ce que le cas de base d'une fonction récursive ?
ALe cas avec l'entrée la plus grande, traité avant tout appel récursif
BUn cas traité directement, sans nouvel appel récursif
CL'appel qui utilise le plus de mémoire
DLa première ligne de la fonction
2.Facile
Un algorithme en O(n) prend 3 secondes pour n = 1 million. Combien de temps prend-il environ pour n = 2 millions ?
A3 secondes
B12 secondes
C9 secondes
D6 secondes
3.Facile
Qu'est-ce que la mémoïsation ?
AÉcrire des commentaires à côté de chaque ligne de code
BConvertir automatiquement une récursion en boucle équivalente, si bien qu'aucune pile d'appels n'est nécessaire
CLibérer la mémoire après le retour d'une fonction
DStocker les résultats des appels de fonction pour répondre aux appels répétés depuis la mémoire
4.Moyen
Avec des pièces de 1, 3 et 4 et un montant de 6, combien de pièces utilise la méthode gloutonne « la plus grosse pièce d'abord », comparée à l'optimum ?
ALe glouton utilise 3 pièces ; l'optimum est 3
BLe glouton utilise 3 pièces ; l'optimum est 2
CLe glouton utilise 2 pièces ; l'optimum est 2
DLe glouton utilise 4 pièces ; l'optimum est 3
5.Moyen
Que signifie qu'un problème possède une sous-structure optimale ?
ATous les sous-problèmes ont la même taille
BLe problème a exactement une solution optimale, que partagent tous les sous-problèmes
CUne solution optimale peut être construite à partir de solutions optimales de ses sous-problèmes
DLe problème peut être résolu en temps constant
6.Moyen
La récurrence T(n) = 2T(n/2) + O(n) a pour solution :
AO(log n)
BO(n log n)
CO(n)
DO(n²)
7.Difficile
Pourquoi toute recherche par comparaisons dans un tableau trié nécessite-t-elle Ω(log n) comparaisons dans le pire cas ?
ALa recherche dichotomique est le seul algorithme possible, et elle nécessite log₂ n comparaisons
BUn arbre de décision à n issues possibles doit avoir une profondeur d'au moins log₂ n
CChaque élément doit être comparé au moins une fois
DChaque comparaison prend un temps logarithmique
8.Difficile
L'algorithme de programmation dynamique de Held-Karp résout exactement le problème du voyageur de commerce. Quel est son temps d'exécution pour n villes ?
AO(n!)
BO(2n²)
CO(n² 2ⁿ)
DO(n³)
Corrigé
1. B · Un cas traité directement, sans nouvel appel récursif
2. D · 6 secondes
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 · Le glouton utilise 3 pièces ; l'optimum est 2
5. C · Une solution optimale peut être construite à partir de solutions optimales de ses sous-problèmes
6. B · O(n log n)
7. B · Un arbre de décision à n issues possibles doit avoir une profondeur d'au moins log₂ n
8. C · O(n² 2ⁿ)
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.