QCM En Algorithmes – Partie 3

Question 1 sur 10

1. Quelle est la complexité temporelle de la recherche binaire ?

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

La recherche binaire a une complexité temporelle de O(log n), car elle divise l'espace de recherche en deux à chaque itération.

Question 2 sur 10

2. Quel est l'algorithme de tri le plus efficace pour trier de grandes quantités de données non triées ?

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

Le tri rapide (QuickSort) est considéré comme l'un des algorithmes de tri les plus efficaces pour trier de grandes quantités de données, avec une complexité moyenne de O(n log n).

Question 3 sur 10

3. Quelle structure de données est idéale pour implémenter une file d'attente ?

  • A Tableau
  • B Pile
  • C Liste chaînée
  • D Arbre
C

Une file d'attente est mieux implémentée avec une liste chaînée, car elle permet une insertion et une suppression efficaces aux extrémités.

Question 4 sur 10

4. Quelle est la différence entre une pile et une file d'attente ?

  • A La pile est LIFO, la file d'attente est FIFO
  • B La pile est FIFO, la file d'attente est LIFO
  • C Les deux sont FIFO
  • D Les deux sont LIFO
A

La pile (LIFO) fonctionne selon le principe 'Last In, First Out', tandis que la file d'attente (FIFO) suit le principe 'First In, First Out'.

Question 5 sur 10

5. Quel algorithme est utilisé pour trouver le plus court chemin dans un graphe pondéré ?

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

L'algorithme de Dijkstra est utilisé pour trouver le plus court chemin dans un graphe pondéré.

Question 6 sur 10

6. Quelle structure de données est utilisée pour implémenter une pile ?

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

Les piles peuvent être implémentées efficacement avec des tableaux pour un accès rapide aux éléments.

Question 7 sur 10

7. Quelle est la complexité temporelle moyenne de l'algorithme de tri par insertion ?

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

La complexité moyenne de l'algorithme de tri par insertion est O(n^2), car chaque élément est comparé et inséré à sa place correcte.

Question 8 sur 10

8. Quel algorithme utilise la technique 'diviser pour régner' (divide and conquer) ?

  • A Tri par tas
  • B Tri rapide (QuickSort)
  • C Algorithme de Dijkstra
  • D Recherche linéaire
B

Le tri rapide (QuickSort) est un exemple classique d'un algorithme utilisant la technique 'diviser pour régner'.

Question 9 sur 10

9. Quelle est la différence principale entre une table de hachage et une liste chaînée ?

  • A Les deux sont des structures non linéaires
  • B La table de hachage offre un accès en O(1), tandis que la liste chaînée en O(n)
  • C La liste chaînée utilise des indices, la table de hachage utilise des clés
  • D Il n'y a pas de différence
B

Une table de hachage permet un accès direct à un élément via sa clé en O(1), alors qu'une liste chaînée nécessite un parcours séquentiel pour trouver un élément, soit O(n).

Question 10 sur 10

10. Quelle est la principale utilisation d'un arbre AVL ?

  • A Résoudre les conflits de hachage
  • B Maintenir une structure d'arbre équilibrée
  • C Trier les éléments en temps constant
  • D Stocker des données non ordonnées
B

Un arbre AVL est un arbre binaire de recherche auto-équilibré, garantissant une recherche, insertion et suppression en O(log n).

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.