QCM En Algorithmes – Partie 5

Question 1 sur 10

1. Quel est le principal inconvénient d'un arbre binaire de recherche (BST) non équilibré ?

  • A Temps d'accès linéaire
  • B Temps d'accès logarithmique
  • C Utilisation excessive de la mémoire
  • D Complexité de mise à jour élevée
A

Un arbre binaire de recherche non équilibré peut se dégrader en une liste chaînée, entraînant un temps d'accès linéaire O(n).

Question 2 sur 10

2. Quel algorithme utilise la stratégie de programmation dynamique pour résoudre le problème du plus court chemin ?

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

L'algorithme de Floyd-Warshall utilise la programmation dynamique pour trouver les plus courts chemins entre tous les paires de sommets.

Question 3 sur 10

3. Dans quel cas un tri par fusion (Merge Sort) est-il plus efficace qu'un tri rapide (Quick Sort) ?

  • A Sur de petites listes
  • B Lorsqu'il y a beaucoup d'éléments dupliqués
  • C Sur des listes déjà triées
  • D Pour des grandes listes avec des données en désordre
B

Le tri par fusion est plus efficace avec de nombreux éléments dupliqués en raison de sa stabilité et de sa complexité temporelle O(n log n) dans tous les cas.

Question 4 sur 10

4. Quelle est la complexité de la recherche d'un élément dans un tableau trié en utilisant la recherche binaire ?

  • A O(n)
  • B O(log n)
  • C O(n log n)
  • D O(1)
B

La recherche binaire a une complexité de O(log n), car elle divise par deux la taille du tableau à chaque itération.

Question 5 sur 10

5. Quelle structure de données est particulièrement utile pour implémenter un algorithme de Dijkstra ?

  • A Liste chaînée
  • B Tas (Heap)
  • C Arbre binaire
  • D Tableau
B

Un tas (Heap) est utilisé pour améliorer l'efficacité de l'algorithme de Dijkstra en permettant l'accès rapide au nœud ayant le poids minimal.

Question 6 sur 10

6. Quelle est la complexité temporelle de l'algorithme de Prim pour trouver un arbre couvrant minimal ?

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

L'algorithme de Prim a une complexité de O(e + n log n) lorsqu'il est implémenté avec une file de priorité.

Question 7 sur 10

7. Quelle méthode est utilisée pour équilibrer un arbre rouge-noir ?

  • A Réorganisation
  • B Rotations
  • C Partitionnement
  • D Fusion
B

Les rotations sont utilisées pour rééquilibrer un arbre rouge-noir après l'insertion ou la suppression de nœuds.

Question 8 sur 10

8. Quel est le principal avantage de l'utilisation d'une table de hachage par rapport à une liste chaînée ?

  • A Temps d'accès constant
  • B Simplicité d'implémentation
  • C Utilisation minimale de la mémoire
  • D Facilité de tri
A

Les tables de hachage permettent un accès en temps constant O(1) en moyenne, contrairement aux listes chaînées qui nécessitent un temps d'accès linéaire O(n).

Question 9 sur 10

9. Quel est l'algorithme de tri stable le plus efficace ?

  • A Tri par sélection
  • B Tri par insertion
  • C Tri par fusion
  • D Tri rapide
C

Le tri par fusion est un algorithme stable avec une complexité de O(n log n), ce qui en fait un choix efficace pour le tri stable.

Question 10 sur 10

10. Quelle est la complexité de la fonction de recherche dans un arbre binaire équilibré ?

  • A O(n)
  • B O(log n)
  • C O(n log n)
  • D O(1)
B

La recherche dans un arbre binaire équilibré a une complexité de O(log n), car la hauteur de l'arbre est logarithmique par rapport au nombre de nœuds.

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.

OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET OUDEV.NET