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

Qu'est-ce que la récursivité ?

  1. AUne méthode de tri
  2. BUn type de structure de données
  3. CUne boucle qui ne se termine jamais
  4. DUne fonction qui s'appelle elle-même sur des entrées plus petites
2.Facile

On dit généralement qu'un problème est traitable (« tractable ») si :

  1. AIl peut être résolu en temps polynomial
  2. BIl n'a pas de solution
  3. CIl ne peut être résolu qu'en essayant toutes les possibilités
  4. DIl peut être résolu en temps constant
3.Facile

Quelle est la complexité temporelle de la recherche dichotomique dans un tableau trié ?

  1. AO(n log n)
  2. BO(log n)
  3. CO(n)
  4. DO(1)
4.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 exécute un parcours en largeur et conserve l'arbre du BFS
  4. DIl 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
5.Moyen

Quel énoncé sur une fonction récursive sans cas de base atteignable est correct ?

  1. AElle s'exécute en temps O(1)
  2. BElle renvoie automatiquement 0
  3. CElle continue de s'appeler jusqu'au débordement de la pile d'appels
  4. DLe compilateur la transforme toujours en une boucle qui se termine sans danger
6.Moyen

Quel est le temps d'exécution du tri par base LSD sur n entiers de d chiffres en base k ?

  1. AO(dn log k)
  2. BO(n²)
  3. CO(n log n)
  4. DO(d(n + k))
7.Difficile

L'algorithme de programmation dynamique de Held-Karp résout exactement le problème du voyageur de commerce. Quel est son temps d'exécution pour n villes ?

  1. AO(n³)
  2. BO(n!)
  3. CO(n² 2ⁿ)
  4. DO(2n²)
8.Difficile

Quel est le temps d'exécution de l'algorithme de Dijkstra avec un tas binaire sur un graphe à V sommets et E arêtes ?

  1. AO(V³)
  2. BO(V + E)
  3. CO(V × E)
  4. DO((V + E) log V)

Corrigé

  1. 1. D · Une fonction qui s'appelle elle-même sur des entrées plus petites
  2. 2. A · Il peut être résolu en temps polynomial
  3. 3. B · O(log n)
  4. 4. D · 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
  5. 5. C · Elle continue de s'appeler jusqu'au débordement de la pile d'appels
  6. 6. D · O(d(n + k))
  7. 7. C · O(n² 2ⁿ)
  8. 8. D · O((V + E) log V)

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