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
Que signifie qu'une opération s'exécute en temps O(1) ?
AElle ne peut être exécutée qu'une seule fois
BElle traite exactement un élément par seconde de temps d'exécution
CSon temps d'exécution n'augmente pas avec la taille de l'entrée
DElle prend toujours exactement une seconde
2.Facile
Qu'est-ce que la mémoïsation ?
AÉcrire des commentaires à côté de chaque ligne de code
BConvertir automatiquement une récursion en boucle équivalente, si bien qu'aucune pile d'appels n'est nécessaire
CStocker les résultats des appels de fonction pour répondre aux appels répétés depuis la mémoire
DLibérer la mémoire après le retour d'une fonction
3.Facile
Combien de mémoire supplémentaire utilise un tri fusion standard sur tableau ?
AO(n²)
BO(n)
CO(1)
DO(log n)
4.Moyen
Quelle est la complexité temporelle de l'algorithme de Bellman-Ford sur un graphe à V sommets et E arêtes ?
AO(V × E)
BO(E log V)
CO(V³ × E)
DO(V + E)
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 l'activité qui commence le plus tôt
CChoisir d'abord l'activité la plus courte
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²)
BO(log n)
CO(n log n)
DO(n)
7.Difficile
L'algorithme de Strassen multiplie des matrices en utilisant 7 au lieu de 8 multiplications récursives de blocs de taille moitié. Quel est son temps d'exécution ?
AΘ(nlog₂ 7), soit environ n2,81
BΘ(n³)
CΘ(n2)
DΘ(n² log n)
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(2ⁿ) en temps et O(1) en espace
BO(n) en temps et O(n) en espace
CO(log n) en temps et O(n) en espace
DO(n) en temps et O(1) en espace
Corrigé
1. C · Son temps d'exécution n'augmente pas avec la taille de l'entrée
2. C · Stocker les résultats des appels de fonction pour répondre aux appels répétés depuis la mémoire
3. B · O(n)
4. A · O(V × E)
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 · Θ(nlog₂ 7), soit environ n2,81
8. D · O(n) en temps et O(1) en espace
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.