Découvrez la série 32 sur les algorithmes récurrents pour le Bac Informatique. Exercices corrigés, concepts clés et optimisation. Idéal pour réussir vos examens.
Question 1 sur 5 10:00
[{"id":318,"question":"Quelle est la complexité temporelle de l'algorithme récursif classique pour calculer la factorielle d'un nombre n ?","option_a":"O(1)","option_b":"O(n)","option_c":"O(n²)","option_d":"O(2^n)","option_e":"","option_f":"","bonne_reponse":"B","explication":"La complexité de l'algorithme récursif de la factorielle est O(n) car il effectue n appels récursifs, chacun avec un coût constant. Cela peut être optimisé en utilisant une approche itérative ou une mémoïsation.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":319,"question":"Quel est le résultat de l'appel récursif fibonacci(5) si fibonacci(0) = 0 et fibonacci(1) = 1 ?","option_a":"3","option_b":"5","option_c":"8","option_d":"13","option_e":"","option_f":"","bonne_reponse":"C","explication":"La suite de Fibonacci est définie par fibonacci(n) = fibonacci(n-1) + fibonacci(n-2). Ainsi, fibonacci(5) = 5 + 3 = 8.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":320,"question":"Dans un algorithme récursif, que représente une condition d'arrêt ?","option_a":"Le nombre maximum d'appels récursifs autorisés","option_b":"Une condition qui empêche la fonction de s'appeler elle-même indéfiniment","option_c":"Le résultat final de l'algorithme","option_d":"Le temps d'exécution maximal de l'algorithme","option_e":"","option_f":"","bonne_reponse":"B","explication":"La condition d'arrêt est essentielle pour éviter une récursivité infinie. Elle permet de retourner une valeur de base lorsque le problème est suffisamment simple pour être résolu directement.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":321,"question":"Quel est le rôle de la mémoïsation dans un algorithme récursif ?","option_a":"Stocker les résultats intermédiaires pour éviter de recalculer les mêmes valeurs","option_b":"Augmenter la profondeur de récursivité","option_c":"Optimiser la mémoire utilisée par l'algorithme","option_d":"Convertir un algorithme récursif en itératif","option_e":"","option_f":"","bonne_reponse":"A","explication":"La mémoïsation consiste à sauvegarder les résultats des appels récursifs pour éviter de les recalculer plusieurs fois, ce qui améliore significativement les performances.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0},{"id":322,"question":"Quelle structure de données est souvent utilisée pour implémenter une récursivité avec gestion de mémoire ?","option_a":"Tableau","option_b":"Liste chaînée","option_c":"Pile (stack)","option_d":"File (queue)","option_e":"","option_f":"","bonne_reponse":"C","explication":"Une pile est utilisée pour gérer les appels récursifs, car elle permet de suivre l'ordre des appels et de revenir aux états précédents une fois les appels terminés.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0}]
Chargement...
Cliquez sur une réponse pour valider
Les options de réponse ne sont pas disponibles pour cette question.