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

Combien de mémoire supplémentaire utilise un tri fusion standard sur tableau ?

  1. AO(n²)
  2. BO(1)
  3. CO(log n)
  4. DO(n)
2.Facile

Lequel de ces temps d'exécution est polynomial ?

  1. AO(n!)
  2. BO(nⁿ)
  3. CO(2ⁿ)
  4. DO(n³)
3.Facile

La complexité spatiale mesure :

  1. ALa taille physique de l'ordinateur
  2. BL'espace disque du fichier du programme une fois compilé
  3. CLe nombre de lignes de code
  4. DLa quantité de mémoire dont un algorithme a besoin lorsque la taille de l'entrée augmente
4.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 ?

  1. AChoisir d'abord l'activité la plus courte
  2. BChoisir l'activité qui se termine le plus tôt, puis recommencer avec les activités compatibles
  3. CChoisir l'activité qui commence le plus tôt
  4. DChoisir d'abord l'activité ayant le moins de chevauchements, puis recommencer avec les activités compatibles
5.Moyen

Est-il correct de dire qu'un algorithme en O(n²) est aussi en O(n³) ?

  1. ANon, car n³ est plus petit que n² pour n grand
  2. BOui, car le grand O est une borne supérieure et n² ne croît pas plus vite que n³
  3. COui, mais seulement si n est inférieur à 100
  4. DNon, car le grand O doit toujours donner le taux de croissance exact de la fonction
6.Moyen

Quelle est la solution de la récurrence T(n) = T(n − 1) + O(1) ?

  1. AO(n²)
  2. BO(log n)
  3. CO(n)
  4. DO(2ⁿ)
7.Difficile

22n est-il dans O(2ⁿ) ?

  1. ANon, car 22n croît plus lentement que 2ⁿ
  2. BOui, car les deux sont exponentiels
  3. COui, car les facteurs constants dans l'exposant sont toujours ignorés en grand O
  4. DNon, car 22n = 4ⁿ et 4ⁿ / 2ⁿ = 2ⁿ croît sans borne
8.Difficile

Le problème de l'arrêt montre que :

  1. ATout programme finit par s'arrêter
  2. BIl faut éviter les boucles
  3. CCertains programmes s'exécutent plus vite sur des ordinateurs plus rapides, donc l'arrêt dépend du matériel
  4. DAucun algorithme ne peut décider, pour tout programme et toute entrée, si le programme s'arrête

Corrigé

  1. 1. D · O(n)
  2. 2. D · O(n³)
  3. 3. D · La quantité de mémoire dont un algorithme a besoin lorsque la taille de l'entrée augmente
  4. 4. B · Choisir l'activité qui se termine le plus tôt, puis recommencer avec les activités compatibles
  5. 5. B · Oui, car le grand O est une borne supérieure et n² ne croît pas plus vite que n³
  6. 6. C · O(n)
  7. 7. D · Non, car 22n = 4ⁿ et 4ⁿ / 2ⁿ = 2ⁿ croît sans borne
  8. 8. D · Aucun algorithme ne peut décider, pour tout programme et toute entrée, si le programme s'arrête

Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.