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 du parcours en profondeur d'un graphe stocké sous forme de listes d'adjacence ?
AO(V²)
BO(V + E)
CO(E log V)
DO(V × E)
2.Facile
Laquelle de ces fonctions croît le plus lentement quand n devient grand ?
AO(n log n)
BO(n²)
CO(n)
DO(log n)
3.Facile
Une boucle commence avec i = 1 et double i à chaque itération jusqu'à ce que i > n. Combien d'itérations effectue-t-elle ?
AEnviron n / 2
BEnviron log₂ n
CEnviron n
DEnviron n²
4.Moyen
Est-il correct de dire qu'un algorithme en O(n²) est aussi en O(n³) ?
ANon, car n³ est plus petit que n² pour n grand
BOui, car le grand O est une borne supérieure et n² ne croît pas plus vite que n³
CNon, car le grand O doit toujours donner le taux de croissance exact de la fonction
DOui, mais seulement si n est inférieur à 100
5.Moyen
Dans le problème de sélection d'activités, quelle règle gloutonne donne toujours un nombre maximal d'activités sans chevauchement ?
AChoisir l'activité qui se termine le plus tôt, puis recommencer avec les activités compatibles
BChoisir d'abord l'activité la plus courte
CChoisir l'activité qui commence le plus tôt
DChoisir d'abord l'activité ayant le moins de chevauchements, puis recommencer avec les activités compatibles
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(n log n)
BO(log n)
CO(n²)
DO(n)
7.Difficile
Quel algorithme trouve un arbre couvrant de poids minimal en ajoutant de façon répétée l'arête la moins coûteuse qui ne forme pas de cycle ?
AL'algorithme de Kruskal
BFloyd-Warshall
CL'algorithme de Dijkstra
DL'algorithme de Prim à partir d'un seul nœud
8.Difficile
La multiplication de Karatsuba vérifie T(n) = 3T(n/2) + O(n). Quelle en est la solution ?
AΘ(n log n)
BΘ(n²)
CΘ(nlog₂ 3), soit environ n1,585
DΘ(n3)
Corrigé
1. B · O(V + E)
2. D · O(log n)
3. B · Environ log₂ n
4. B · Oui, car le grand O est une borne supérieure et n² ne croît pas plus vite que n³
5. A · Choisir l'activité qui se termine le plus tôt, puis recommencer avec les activités compatibles
6. D · O(n)
7. A · L'algorithme de Kruskal
8. C · Θ(nlog₂ 3), soit environ n1,585
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.