- 1. Les algorithmes sont des procédures ou des formules étape par étape pour résoudre des problèmes. Il s'agit d'un ensemble d'instructions qui décrivent comment effectuer une tâche ou résoudre un problème de manière efficace. Les algorithmes sont utilisés dans divers domaines tels que l'informatique, les mathématiques, l'ingénierie, etc. Ils aident à organiser les données, à prendre des décisions et à automatiser les processus. En concevant des algorithmes efficaces, nous pouvons optimiser l'utilisation des ressources, améliorer les performances et résoudre des problèmes complexes de manière systématique.
Quel algorithme de tri a une complexité temporelle de O(n2) dans le pire des cas ?
A) Tri à bulles B) Tri rapide C) Fusionner les tris D) Tri en tas
- 2. Quelle structure de données est généralement utilisée dans un algorithme de recherche en profondeur (DFS) ?
A) Arbre binaire B) Réseau C) File d'attente D) Pile
- 3. Quel algorithme est généralement utilisé pour trouver le chemin le plus court dans un graphe dont les poids des arêtes ne sont pas négatifs ?
A) Algorithme de recherche A* B) Algorithme de Dijkstra C) Algorithme de Prim D) Algorithme de Bellman-Ford
- 4. Que signifie le terme "récursion" dans le contexte des algorithmes ?
A) Une fonction qui n'a pas d'énoncé de retour. B) Une fonction qui itère sur une collection d'éléments. C) Une fonction qui génère des nombres aléatoires. D) Une fonction qui s'appelle elle-même dans un processus de résolution de problème.
- 5. Quel algorithme est utilisé pour trouver la fermeture transitive d'un graphe orienté ?
A) Algorithme de Floyd B) Algorithme de Tarjan C) Algorithme de Kosaraju D) Algorithme de Warshall
- 6. Comment appelle-t-on le processus consistant à raccourcir une séquence répétitive en utilisant les occurrences précédentes ?
A) Transformation Burrows-Wheeler B) Codage de Huffman C) Encodage des longueurs d'onde D) Codage différentiel
- 7. Quel est l'objectif principal de l'algorithme de Floyd-Warshall ?
A) Trouver les chemins les plus courts entre toutes les paires de sommets d'un graphe pondéré. B) Déterminer la plus grande composante connectée dans un graphe non orienté. C) Pour trier les éléments par ordre croissant. D) Pour calculer le débit maximal dans un réseau d'écoulement.
- 8. Quel est le principal avantage de l'algorithme BFS (breadth-first search) par rapport à l'algorithme DFS (depth-first search) ?
A) DFS trouve le chemin plus rapidement. B) BFS garantit le chemin le plus court vers l'objectif. C) BFS est plus facile à mettre en œuvre. D) DFS utilise moins d'espace mémoire.
- 9. Quel algorithme est utilisé pour trouver la plus longue sous-séquence commune entre deux séquences ?
A) Tri en tas B) Tri de sélection C) Tri par radix D) Algorithme de la plus longue séquence commune
- 10. Quelle est la complexité temporelle la plus défavorable de l'algorithme de tri rapide ?
A) O(n log n) B) O(log n) C) O(n) D) O(n2)
- 11. Lequel des algorithmes suivants est un algorithme "diviser pour régner" ?
A) Fusionner les tris B) Tri de sélection C) Tri par insertion D) Tri à bulles
- 12. Quelle structure de données est typiquement utilisée dans un algorithme de recherche en profondeur (Breadth-First Search) ?
A) File d'attente B) Tas C) Pile D) Liste chaînée
- 13. Quel est le terme utilisé pour mesurer le degré de détail des instructions d'un algorithme ?
A) Granularité B) Efficacité C) Complexité D) Évolutivité
- 14. Quel algorithme peut être utilisé pour trouver le flux maximal dans un réseau de flux ?
A) Recherche en profondeur B) Algorithme de recherche binaire C) Tri à bulles D) Algorithme de Ford-Fulkerson
|