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
Quelles sont les trois étapes d'un algorithme « diviser pour régner » ?
- ALire, calculer, écrire
- BTrier, chercher, renvoyer
- CDeviner, vérifier, recommencer
- DDiviser, régner, combiner
2.Facile
Que signifie qu'une opération s'exécute en temps O(1) ?
- AElle traite exactement un élément par seconde de temps d'exécution
- BSon temps d'exécution n'augmente pas avec la taille de l'entrée
- CElle prend toujours exactement une seconde
- DElle ne peut être exécutée qu'une seule fois
3.Facile
Quel est le temps d'exécution du tri par comptage pour n entiers compris entre 0 et k ?
- AO(n + k)
- BO(k log n)
- CO(n²)
- DO(n log n)
4.Moyen
Pourquoi omet-on généralement la base du logarithme dans la notation grand O, comme dans O(log n) ?
- ALa base n'a d'importance que pour n petit
- BTous les logarithmes en informatique sont en base 10, elle est donc implicite
- CDes logarithmes de bases différentes ne diffèrent que d'un facteur constant
- DLes logarithmes sont toujours arrondis à l'entier
5.Moyen
Une fonction exécute une boucle de n itérations, puis, séparément, une autre boucle de n itérations. Quelle est sa complexité temporelle ?
- AO(n²)
- BO(n)
- CO(log n)
- DO(2ⁿ)
6.Moyen
La programmation dynamique est utile lorsqu'un problème présente :
- ADes sous-problèmes qui se chevauchent et une sous-structure optimale
- BAucun sous-problème, de sorte qu'il peut être résolu en une seule étape
- CUniquement des entrées aléatoires
- DUne seule boucle
7.Difficile
Quelle borne est correcte pour log(n!) ?
- AΘ(n²)
- BΘ(log n)
- CΘ(n)
- DΘ(n log n)
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(2n²)
- BO(n!)
- CO(n³)
- DO(n² 2ⁿ)