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
La complexité spatiale mesure :
ALa taille physique de l'ordinateur
BLe nombre de lignes de code
CL'espace disque du fichier du programme une fois compilé
DLa quantité de mémoire dont un algorithme a besoin lorsque la taille de l'entrée augmente
2.Facile
Quelle est la complexité temporelle de la recherche linéaire dans un tableau non trié de n éléments (pire cas) ?
AO(1)
BO(n²)
CO(n)
DO(log n)
3.Facile
Quel algorithme de tri échange de façon répétée les éléments adjacents qui sont dans le mauvais ordre ?
ATri fusion
BTri par tas
CTri rapide (quicksort)
DTri à bulles
4.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(2ⁿ)
DO(log n)
5.Moyen
Environ combien de comparaisons la recherche dichotomique nécessite-t-elle dans le pire cas sur un tableau trié de 1,000,000 d'éléments ?
AEnviron 500,000
BEnviron 1,000
CEnviron 20
DEnviron 100
6.Moyen
Comment l'algorithme de Prim construit-il un arbre couvrant de poids minimal ?
AIl supprime l'arête la plus chère jusqu'à ce qu'il ne reste plus de cycle
BIl trie toutes les arêtes par poids et ajoute chacune d'elles sauf si elle formait un cycle dans la forêt
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
7.Difficile
Quel énoncé sur la notation petit o est correct ?
An = o(n), puisque toute fonction est un petit o d'elle-même
Bn = o(n²), mais n n'est pas o(n)
Cn² = o(n)
D2n = o(n), car 2n croît lentement
8.Difficile
Le problème du sac à dos 0/1 résolu par programmation dynamique prend un temps O(nW). Pourquoi dit-on qu'il est pseudo-polynomial ?
AW est un nombre, donc le temps est exponentiel en le nombre de bits utilisés pour écrire W
BParce que n est toujours petit
CParce que l'algorithme est probabiliste et que son temps d'exécution varie à chaque entrée
DParce qu'il ne fonctionne que pour W = 0
Corrigé
1. D · La quantité de mémoire dont un algorithme a besoin lorsque la taille de l'entrée augmente
2. C · O(n)
3. D · Tri à bulles
4. B · O(n)
5. C · Environ 20
6. 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
7. B · n = o(n²), mais n n'est pas o(n)
8. A · W est un nombre, donc le temps est exponentiel en le nombre de bits utilisés pour écrire W
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.