Podcast
Questions and Answers
Quel est le résultat de l'algorithme Tous_Differents pour la liste L={2, 3, 4, 5}?
Quel est le résultat de l'algorithme Tous_Differents pour la liste L={2, 3, 4, 5}?
- Erreur
- VRAI (correct)
- Indéfini
- FAUX
Que renvoie l'algorithme Tous_Differents si la liste L a un seul élément?
Que renvoie l'algorithme Tous_Differents si la liste L a un seul élément?
- VRAI (correct)
- Erreur
- FAUX
- Indéfini
Quelle est la complexité temporelle de l'algorithme Tous_Differents?
Quelle est la complexité temporelle de l'algorithme Tous_Differents?
- O(N^2)
- O(1)
- O(N) (correct)
- O(log N)
Dans l'algorithme récursif TDR, quel paramètre est utilisé pour transmettre la sous-liste?
Dans l'algorithme récursif TDR, quel paramètre est utilisé pour transmettre la sous-liste?
Quel type d'approche est demandé pour l'algorithme Tous_Differents?
Quel type d'approche est demandé pour l'algorithme Tous_Differents?
Quel résultat retourne l'algorithme TDR pour une liste L={1, 2, 1}?
Quel résultat retourne l'algorithme TDR pour une liste L={1, 2, 1}?
L'algorithme Tous_Differents renvoie FAUX si:
L'algorithme Tous_Differents renvoie FAUX si:
Quel peut être un cas d'erreur dans l'algorithme TDR?
Quel peut être un cas d'erreur dans l'algorithme TDR?
Flashcards are hidden until you start studying
Study Notes
Algorithme Tous_Differents
- L'algorithme Tous_Differents prend en entrée une liste L de N entiers, où N est supérieur à 0.
- L'algorithme renvoie VRAI si tous les éléments de L sont distincts, et FAUX dans le cas contraire.
- L'algorithme doit renvoyer FAUX dès la découverte de deux éléments égaux.
- Version itérative :
- Initialiser une variable booléenne
tous_differents
à VRAI. - Parcourir la liste L de l'indice 0 à N-1.
- Pour chaque élément de la liste, comparer avec tous les éléments suivants de la liste.
- Si deux éléments sont égaux, attribuer FAUX à la variable
tous_differents
et sortir de la boucle. - Renvoyer la valeur de la variable
tous_differents
.
- Initialiser une variable booléenne
Complexité de l'algorithme Tous_Differents
- La complexité de l'algorithme itératif est de O(N^2).
- La boucle interne parcourt N-i éléments pour chaque élément i de la liste, soit N-1+N-2+...+1 opérations, ce qui est équivalent à N(N-1)/2, qui appartient à O(N^2).
Version Récursive TDR
- L'algorithme TDR prend en entrée une liste L de N entiers.
- L'algorithme renvoie VRAI si tous les éléments de L sont distincts, et FAUX dans le cas contraire.
- Version récursive :
- Si N=1, renvoyer VRAI.
- Appeler TDR de manière récursive sur la sous-liste L(1,N) pour vérifier si les éléments de la sous-liste sont distincts.
- Si la sous-liste L(0,N-1) contient des éléments distincts, comparer l'élément L(0) avec tous les éléments suivants de la liste L(1,N).
- Si une correspondance est trouvée, renvoyer FAUX, sinon renvoyer VRAI.
Complexité de l'algorithme TDR
- La complexité de l'algorithme récursif est également de O(N^2).
- À chaque étape récursive, l'algorithme compare le premier élément avec les autres éléments de la sous-liste, ce qui conduit à N comparaisons pour le premier appel récursif, N-1 pour le deuxième, et ainsi de suite.
- Le nombre total de comparaisons est donc N+(N-1)+(N-2)+...+1, ce qui est équivalent à N(N-1)/2, appartenant à O(N^2).
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.