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 de la recherche dichotomique dans un tableau trié ?

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

Que vaut log₂ 1024 ?

  1. A512
  2. B32
  3. C12
  4. D10
3.Facile

Qu'est-ce que la mémoïsation ?

  1. ALibérer la mémoire après le retour d'une fonction
  2. BConvertir automatiquement une récursion en boucle équivalente, si bien qu'aucune pile d'appels n'est nécessaire
  3. CÉcrire des commentaires à côté de chaque ligne de code
  4. DStocker les résultats des appels de fonction pour répondre aux appels répétés depuis la mémoire
4.Moyen

La programmation dynamique est utile lorsqu'un problème présente :

  1. AAucun sous-problème, de sorte qu'il peut être résolu en une seule étape
  2. BDes sous-problèmes qui se chevauchent et une sous-structure optimale
  3. CUne seule boucle
  4. DUniquement des entrées aléatoires
5.Moyen

Un tri rapide utilise toujours le premier élément comme pivot. Sur quelle entrée présente-t-il son comportement de pire cas ?

  1. AUn tableau dans un ordre aléatoire
  2. BUn tableau déjà trié
  3. CUn tableau de longueur 2
  4. DUn tableau dont tous les éléments sont distincts
6.Moyen

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

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

Comment l'algorithme de Bellman-Ford détecte-t-il un cycle de poids négatif accessible depuis la source ?

  1. AIl exécute deux fois l'algorithme de Dijkstra et compare les deux résultats de distances
  2. BAprès V − 1 tours, il vérifie si une arête peut encore être relâchée
  3. CIl vérifie si une arête a un poids négatif
  4. DIl compte les cycles par un parcours en profondeur
8.Difficile

Quelle définition de la classe P est correcte ?

  1. ALes problèmes de décision résolubles par un algorithme déterministe en temps polynomial
  2. BLes problèmes qui peuvent être résolus en parallèle
  3. CLes problèmes dont les solutions peuvent être vérifiées mais jamais trouvées en temps polynomial
  4. DLes problèmes qui demandent un temps exponentiel sur tout ordinateur

Corrigé

  1. 1. D · O(log n)
  2. 2. D · 10
  3. 3. D · Stocker les résultats des appels de fonction pour répondre aux appels répétés depuis la mémoire
  4. 4. B · Des sous-problèmes qui se chevauchent et une sous-structure optimale
  5. 5. B · Un tableau déjà trié
  6. 6. A · O(n)
  7. 7. B · Après V − 1 tours, il vérifie si une arête peut encore être relâchée
  8. 8. A · Les problèmes de décision résolubles par un algorithme déterministe en temps polynomial

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