QCM En Algorithmes – Partie 4

Question 1 sur 10

1. Quelle est la complexité temporelle de l'algorithme de tri par tas (HeapSort) ?

  • A O(n log n)
  • B O(n^2)
  • C O(log n)
  • D O(n)
A

Le tri par tas (HeapSort) a une complexité temporelle de O(n log n) en moyenne et dans le pire des cas.

Question 2 sur 10

2. Quel est l'algorithme optimal pour résoudre le problème du sac à dos (Knapsack) ?

  • A Algorithme glouton
  • B Programmation dynamique
  • C Recherche linéaire
  • D Recherche binaire
B

Le problème du sac à dos (Knapsack) est résolu de manière optimale par la programmation dynamique, en particulier la variante du sac à dos 0/1.

Question 3 sur 10

3. Quelle structure de données est utilisée pour la recherche en profondeur (DFS) dans un graphe ?

  • A File d'attente
  • B Pile
  • C Liste chaînée
  • D Tableau
B

La recherche en profondeur (DFS) utilise une pile pour garder une trace des nœuds à explorer.

Question 4 sur 10

4. Quelle est la principale différence entre un arbre rouge-noir et un arbre AVL ?

  • A L'arbre AVL est plus strictement équilibré
  • B L'arbre rouge-noir est plus strictement équilibré
  • C Les deux ont la même structure
  • D L'arbre rouge-noir est toujours plus rapide
A

L'arbre AVL est plus strictement équilibré que l'arbre rouge-noir, garantissant un meilleur temps d'accès au prix d'opérations de rééquilibrage plus fréquentes.

Question 5 sur 10

5. Quel algorithme est utilisé pour détecter les cycles dans un graphe orienté ?

  • A Algorithme de Dijkstra
  • B Algorithme de Bellman-Ford
  • C Algorithme de Floyd-Warshall
  • D Algorithme de Tarjan
D

L'algorithme de Tarjan est utilisé pour détecter les cycles dans un graphe orienté, en trouvant les composantes fortement connexes.

Question 6 sur 10

6. Quelle est la complexité spatiale de la recherche en largeur (BFS) dans un graphe ?

  • A O(n)
  • B O(n + e)
  • C O(e)
  • D O(1)
B

La complexité spatiale de la recherche en largeur (BFS) est O(n + e), où n est le nombre de nœuds et e est le nombre d'arêtes.

Question 7 sur 10

7. Quelle est la méthode la plus efficace pour trouver le k-ième plus grand élément dans un tableau non trié ?

  • A Tri par sélection
  • B Tri rapide (QuickSort) modifié
  • C Tri fusion (MergeSort)
  • D Tri à bulles
B

Le tri rapide (QuickSort) modifié peut être utilisé pour trouver le k-ième plus grand élément en O(n) dans le cas moyen.

Question 8 sur 10

8. Quelle est la complexité temporelle de l'algorithme de Kruskal pour trouver l'arbre couvrant minimal ?

  • A O(n log n)
  • B O(e log e)
  • C O(n^2)
  • D O(n log e)
B

L'algorithme de Kruskal a une complexité temporelle de O(e log e), où e est le nombre d'arêtes dans le graphe.

Question 9 sur 10

9. Quelle est la principale caractéristique d'une table de hachage bien conçue ?

  • A Accès en O(n)
  • B Utilisation minimale de la mémoire
  • C Résolution efficace des collisions
  • D Unicité des clés
C

Une table de hachage bien conçue résout efficacement les collisions, souvent en utilisant des méthodes comme le chaînage ou l'open addressing.

Question 10 sur 10

10. Quel algorithme est utilisé pour résoudre le problème du plus court chemin avec des arêtes de poids négatif ?

  • A Algorithme de Dijkstra
  • B Algorithme de Prim
  • C Algorithme de Bellman-Ford
  • D Algorithme de Kruskal
C

L'algorithme de Bellman-Ford est capable de gérer les arêtes de poids négatif dans les graphes et peut détecter les cycles de poids négatif.

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.