La complexité algorithmique est un concept très important qui permet de comparer les algorithmes afin de trouver celui qui est le plus efficace. Il existe une notation standard qui s’appelle big O et qui permet de mesurer la performance d’un algorithme. Vous verrez, au fur et à mesure des explications, la méthode de calcul.
Si l’on note n le nombre de chiffres de notre cadenas, le temps de calcul est donc 10n ; ainsi, à l’aide de la notion big O, nous pouvons noter que la complexité temporelle de notre algorithme est de O ( 10n). On dit alors que la complexité est exponentielle.
Il existe une notation standard qui s’appelle big O et qui permet de mesurer la performance d’un algorithme. Vous verrez, au fur et à mesure des explications, la méthode de calcul. Avant d’entrer dans le détail de son calcul, laissez-moi vous conter une petite histoire.
Mille ans plus tard, au IXe siècle AP. J.-C., Al Khawarizmi, un mathématicien perse (actuel Iran), publie un ouvrage consacré aux algorithmes : l’étymologie du terme « algorithme » vient du nom de ce mathématicien.
Tout au long de ce cours, vous avez pu créer des algorithmes pour le labyrinthe. Nous allons en prendre quelques-uns et calculer la complexité temporelle et spatiale de ceux-ci. See full list on openclassrooms.com
Nous allons calculé la complexité temporelle et spatiale de 3 algorithmes. 1. Nous avons tout d’abord l’algorithme de déplacement suivant : 1. Nous avons ensuite l’algorithme suivant qui permet de ramasser un nombre n de clés dans le labyrinthe : 1. Pour terminer, nous avons l’algorithme de tri suivant : See full list on openclassrooms.com
Voici le résultat à obtenir à l'issue de l'exercice : 1. La fonction déplacement : 1.1. complexité temporelle : O(1) . La complexité est constante, il n’y a aucune boucle ni aucune fonction récursive. 1.2. complexité spatiale : O(1) . La mémoire n’est pas affectée par cet algorithme. 2. La fonction ramasser : 2.1. complexité temporelle : O(30n) . A