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
Un algorithme en O(n) prend 3 secondes pour n = 1 million. Combien de temps prend-il environ pour n = 2 millions ?
A9 secondes
B6 secondes
C3 secondes
D12 secondes
2.Facile
Un algorithme comportant deux boucles imbriquées, chacune exécutée n fois, a généralement quelle complexité ?
AO(n)
BO(n²)
CO(2n)
DO(log n)
3.Facile
Que signifie qu'une opération s'exécute en temps O(1) ?
AElle prend toujours exactement une seconde
BSon temps d'exécution n'augmente pas avec la taille de l'entrée
CElle traite exactement un élément par seconde de temps d'exécution
DElle ne peut être exécutée qu'une seule fois
4.Moyen
Comment l'algorithme de Prim construit-il un arbre couvrant de poids minimal ?
AIl trie toutes les arêtes par poids et ajoute chacune d'elles sauf si elle formait un cycle dans la forêt
BIl supprime l'arête la plus chère jusqu'à ce qu'il ne reste plus de cycle
CIl fait croître un seul arbre à partir d'un sommet de départ, en ajoutant l'arête la moins chère qui sort de l'arbre
DIl exécute un parcours en largeur et conserve l'arbre du BFS
5.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, car le grand O est une borne supérieure et n² ne croît pas plus vite que n³
CNon, car n³ est plus petit que n² pour n grand
DOui, mais seulement si n est inférieur à 100
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
Le tri par insertion s'exécute en O(n) sur une entrée triée. Cela contredit-il la borne inférieure Ω(n log n) des tris par comparaisons ?
AOui, la borne inférieure est donc fausse
BNon, car le tri par insertion n'est pas un tri par comparaisons
COui, mais seulement pour les tableaux de moins de 100 éléments
DNon, la borne inférieure s'applique au pire cas sur toutes les entrées, pas à chaque entrée
8.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
Corrigé
1. B · 6 secondes
2. B · O(n²)
3. B · Son temps d'exécution n'augmente pas avec la taille de l'entrée
4. C · Il fait croître un seul arbre à partir d'un sommet de départ, en ajoutant l'arête la moins chère qui sort de l'arbre
5. B · Oui, car le grand O est une borne supérieure et n² ne croît pas plus vite que n³
6. B · O(n log n)
7. D · Non, la borne inférieure s'applique au pire cas sur toutes les entrées, pas à chaque entrée
8. D · Réduire un problème NP-difficile connu à X en temps polynomial
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.