Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Comment Déterminer la Complexité d'un Algorithme | Introduction à ADS
Aperçu des Algorithmes et des Structures de Données
course content

Contenu du cours

Aperçu des Algorithmes et des Structures de Données

Aperçu des Algorithmes et des Structures de Données

1. Introduction à ADS
2. Liste et Tableau
3. Structures de Données Avancées
4. Graphes

book
Défi : Comment Déterminer la Complexité d'un Algorithme

Voici un guide simplifié pour déterminer la complexité temporelle de l'algorithme :

  1. Identifier les opérations clés : Commencez par identifier les opérations ou étapes clés de votre algorithme. Ces opérations peuvent être des boucles, des appels récursifs ou d'autres actions significatives contribuant au temps d'exécution de l'algorithme ;

  2. Compter l'opération dominante : Déterminez quelle opération domine le temps d'exécution global de l'algorithme. Concentrez-vous sur l'opération qui contribue le plus au temps d'exécution global, surtout lorsque la taille de l'entrée augmente ;

  3. Exprimer la complexité en fonction de la taille de l'entrée : Exprimez le temps d'exécution de l'algorithme comme une fonction de la taille de l'entrée (généralement notée "n"). Considérez comment le nombre d'opérations évolue avec la taille de l'entrée ;

  4. Supprimer les constantes et les termes de moindre ordre : Simplifiez l'expression en supprimant les constantes et les termes de moindre ordre. La notation Big O se concentre sur le terme dominant qui a l'impact le plus significatif sur le temps d'exécution à mesure que la taille de l'entrée tend vers l'infini ;

  5. Déterminer la complexité en Big O : Une fois que vous avez l'expression représentant le temps d'exécution de l'algorithme en termes de "n", déterminez la complexité en Big O en identifiant le terme à croissance la plus rapide. Ce terme représente la limite supérieure du temps d'exécution de l'algorithme.

Tâche

Swipe to start coding

Examinons la complexité temporelle d'un algorithme simple : la Recherche Linéaire.
La Recherche Linéaire est une méthode de recherche fondamentale qui examine chaque élément d'une liste un par un jusqu'à ce qu'elle trouve une correspondance ou épuise la liste.
Votre objectif est de déterminer le nombre de comparaisons nécessaires à l'algorithme pour localiser le dernier élément de la liste. Ce décompte établira la limite supérieure de la complexité temporelle de l'algorithme.

Note

Dans cette tâche, nous visons à déterminer la complexité temporelle dans le pire des cas de la Recherche Linéaire. Nous devons trouver le dernier élément de la liste pour l'estimer. Cela nécessite de parcourir tous les n éléments de la liste. Par conséquent, la complexité temporelle de la Recherche Linéaire est O(n), car nous devons examiner chaque élément linéairement jusqu'à ce que nous trouvions la cible.

  1. Initialisez la variable comparisons.
  2. Calculez le nombre de comparaisons pendant l'exécution de l'algorithme.
  3. Imprimez le nombre de comparaisons à la fin du code du programme.

Une fois que vous avez terminé cette tâche, cliquez sur le bouton ci-dessous le code pour vérifier votre solution.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 5
toggle bottom row

book
Défi : Comment Déterminer la Complexité d'un Algorithme

Voici un guide simplifié pour déterminer la complexité temporelle de l'algorithme :

  1. Identifier les opérations clés : Commencez par identifier les opérations ou étapes clés de votre algorithme. Ces opérations peuvent être des boucles, des appels récursifs ou d'autres actions significatives contribuant au temps d'exécution de l'algorithme ;

  2. Compter l'opération dominante : Déterminez quelle opération domine le temps d'exécution global de l'algorithme. Concentrez-vous sur l'opération qui contribue le plus au temps d'exécution global, surtout lorsque la taille de l'entrée augmente ;

  3. Exprimer la complexité en fonction de la taille de l'entrée : Exprimez le temps d'exécution de l'algorithme comme une fonction de la taille de l'entrée (généralement notée "n"). Considérez comment le nombre d'opérations évolue avec la taille de l'entrée ;

  4. Supprimer les constantes et les termes de moindre ordre : Simplifiez l'expression en supprimant les constantes et les termes de moindre ordre. La notation Big O se concentre sur le terme dominant qui a l'impact le plus significatif sur le temps d'exécution à mesure que la taille de l'entrée tend vers l'infini ;

  5. Déterminer la complexité en Big O : Une fois que vous avez l'expression représentant le temps d'exécution de l'algorithme en termes de "n", déterminez la complexité en Big O en identifiant le terme à croissance la plus rapide. Ce terme représente la limite supérieure du temps d'exécution de l'algorithme.

Tâche

Swipe to start coding

Examinons la complexité temporelle d'un algorithme simple : la Recherche Linéaire.
La Recherche Linéaire est une méthode de recherche fondamentale qui examine chaque élément d'une liste un par un jusqu'à ce qu'elle trouve une correspondance ou épuise la liste.
Votre objectif est de déterminer le nombre de comparaisons nécessaires à l'algorithme pour localiser le dernier élément de la liste. Ce décompte établira la limite supérieure de la complexité temporelle de l'algorithme.

Note

Dans cette tâche, nous visons à déterminer la complexité temporelle dans le pire des cas de la Recherche Linéaire. Nous devons trouver le dernier élément de la liste pour l'estimer. Cela nécessite de parcourir tous les n éléments de la liste. Par conséquent, la complexité temporelle de la Recherche Linéaire est O(n), car nous devons examiner chaque élément linéairement jusqu'à ce que nous trouvions la cible.

  1. Initialisez la variable comparisons.
  2. Calculez le nombre de comparaisons pendant l'exécution de l'algorithme.
  3. Imprimez le nombre de comparaisons à la fin du code du programme.

Une fois que vous avez terminé cette tâche, cliquez sur le bouton ci-dessous le code pour vérifier votre solution.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 5
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
We're sorry to hear that something went wrong. What happened?
some-alt