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 la mémoïsation ?
AStocker les résultats des appels de fonction pour répondre aux appels répétés depuis la mémoire
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
DÉcrire des commentaires à côté de chaque ligne de code
2.Facile
Lequel de ces temps d'exécution est polynomial ?
AO(2ⁿ)
BO(n!)
CO(n³)
DO(nⁿ)
3.Facile
Comment appelle-t-on une croissance en O(2ⁿ) ?
ALinéaire
BPolynomiale
CLogarithmique
DExponentielle
4.Moyen
Est-il correct de dire qu'un algorithme en O(n²) est aussi en O(n³) ?
ANon, car le grand O doit toujours donner le taux de croissance exact de la fonction
BOui, mais seulement si n est inférieur à 100
CNon, car n³ est plus petit que n² pour n grand
DOui, car le grand O est une borne supérieure et n² ne croît pas plus vite que n³
5.Moyen
Vous triez une fois un tableau de n éléments, puis répondez à k requêtes d'appartenance par recherche dichotomique. Quel est le coût total ?
AO(nk)
BO(n + k)
CO(n log n + k log n)
DO(k n log n)
6.Moyen
Dans un tableau trié, vous cherchez deux éléments dont la somme vaut une cible en déplaçant un pointeur depuis chaque extrémité vers l'intérieur. Quelle est la complexité temporelle ?
AO(log n)
BO(n)
CO(n log n)
DO(n²)
7.Difficile
Pour montrer qu'un nouveau problème X est NP-difficile, que faut-il faire ?
AMontrer que X n'a pas d'algorithme polynomial pour les petites entrées
BMontrer que X peut être vérifié en temps polynomial
CRéduire X à un problème NP-difficile connu en temps polynomial
DRéduire un problème NP-difficile connu à X en temps polynomial
8.Difficile
Quels sont les coûts en temps et en espace du calcul du n-ième nombre de Fibonacci avec une boucle qui ne conserve que les deux dernières valeurs ?
AO(log n) en temps et O(n) en espace
BO(n) en temps et O(n) en espace
CO(n) en temps et O(1) en espace
DO(2ⁿ) en temps et O(1) en espace
Corrigé
1. A · Stocker les résultats des appels de fonction pour répondre aux appels répétés depuis la mémoire
2. C · O(n³)
3. D · Exponentielle
4. D · Oui, car le grand O est une borne supérieure et n² ne croît pas plus vite que n³
5. C · O(n log n + k log n)
6. B · O(n)
7. D · Réduire un problème NP-difficile connu à X en temps polynomial
8. C · O(n) en temps et O(1) en espace
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.