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 :

  1. ALa taille physique de l'ordinateur
  2. BLe nombre de lignes de code
  3. CL'espace disque du fichier du programme une fois compilé
  4. 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) ?

  1. AO(1)
  2. BO(n²)
  3. CO(n)
  4. 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 ?

  1. ATri fusion
  2. BTri par tas
  3. CTri rapide (quicksort)
  4. 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 ?

  1. AO(n²)
  2. BO(n)
  3. CO(2ⁿ)
  4. 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 ?

  1. AEnviron 500,000
  2. BEnviron 1,000
  3. CEnviron 20
  4. DEnviron 100
6.Moyen

Comment l'algorithme de Prim construit-il un arbre couvrant de poids minimal ?

  1. AIl supprime l'arête la plus chère jusqu'à ce qu'il ne reste plus de cycle
  2. BIl trie toutes les arêtes par poids et ajoute chacune d'elles sauf si elle formait un cycle dans la forêt
  3. 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
  4. DIl exécute un parcours en largeur et conserve l'arbre du BFS
7.Difficile

Quel énoncé sur la notation petit o est correct ?

  1. An = o(n), puisque toute fonction est un petit o d'elle-même
  2. Bn = o(n²), mais n n'est pas o(n)
  3. Cn² = o(n)
  4. 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 ?

  1. AW est un nombre, donc le temps est exponentiel en le nombre de bits utilisés pour écrire W
  2. BParce que n est toujours petit
  3. CParce que l'algorithme est probabiliste et que son temps d'exécution varie à chaque entrée
  4. DParce qu'il ne fonctionne que pour W = 0

Corrigé

  1. 1. D · La quantité de mémoire dont un algorithme a besoin lorsque la taille de l'entrée augmente
  2. 2. C · O(n)
  3. 3. D · Tri à bulles
  4. 4. B · O(n)
  5. 5. C · Environ 20
  6. 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. 7. B · n = o(n²), mais n n'est pas o(n)
  8. 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.