Algorithme " La complexité "
Fermé
Jiko-java
Messages postés
186
Date d'inscription
dimanche 25 septembre 2016
Statut
Membre
Dernière intervention
22 juillet 2017
-
10 déc. 2016 à 04:39
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 14 déc. 2016 à 23:42
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 14 déc. 2016 à 23:42
A voir également:
- Algorithme " La complexité "
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Code ascii algorithme - Guide
- Remplir une matrice algorithme - Forum Pascal
- Ecrire un algorithme qui permet de calculer la somme de deux nombres - Forum Programmation
- Ecrire un algorithme qui permet de resoudre ax²+bx+c=0 - Forum Programmation
1 réponse
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
10 déc. 2016 à 07:39
10 déc. 2016 à 07:39
Bonjour,
La théorie de la complexité est une branche assez pointue de l'informatique. En général on ramène le problème cherché à un problème similaire dont on connaît déjà la complexité afin de déduire qu'ils ont la même complexité.
Dans tout les cas il faut décorreler le calcul de complexité de l'algorithme.
Ce n'est pas parce qu'un problème est en O(n) qu'il se code obligatoirement avec une boucle et en O(n²) avec deux boucles imbriquées.
Le calcul de la complexité n'aide généralement pas à déduire le code.
D'ailleurs certains problèmes existent dont on ne connaît pas de code capables d'atteindre la complexité théorique qu'ils pourraient avoir.
En revanche si tu as le code on peut en déduire la complexité, soit théoriquement par analyse, soit empiriquement en traçant un graphe.
La théorie de la complexité est une branche assez pointue de l'informatique. En général on ramène le problème cherché à un problème similaire dont on connaît déjà la complexité afin de déduire qu'ils ont la même complexité.
Dans tout les cas il faut décorreler le calcul de complexité de l'algorithme.
Ce n'est pas parce qu'un problème est en O(n) qu'il se code obligatoirement avec une boucle et en O(n²) avec deux boucles imbriquées.
Le calcul de la complexité n'aide généralement pas à déduire le code.
D'ailleurs certains problèmes existent dont on ne connaît pas de code capables d'atteindre la complexité théorique qu'ils pourraient avoir.
En revanche si tu as le code on peut en déduire la complexité, soit théoriquement par analyse, soit empiriquement en traçant un graphe.
10 déc. 2016 à 09:10
10 déc. 2016 à 09:56
Exemple :
La complexité s'exprimant sur f() est en O(n) car on appelle une seule fois chacun des String malgré les 3 boucles for qu'il est nécessaire de parcourir pour décomposer la structure objet initiale afin de traiter tous les String voulus.
10 déc. 2016 à 14:46
Dans ce cas puis-je en conclure que la complexité de cet Algorithme est exprimé en O(n^2) car j'Utilise plus d'une fois list2 ?
10 déc. 2016 à 17:01
Un exemple de O(n²) serait l'utilisation d'un f() à deux paramètres ayant chacun un élément de la liste.
Ici on peut voir ça comme un tableau, avec les éléments de la liste en colonne et les mêmes éléments de la même liste en ligne, donc les résultats f() sont inscrits sur chaque case de ce tableau, et sont donc beaucoup plus nombreux que lors de l'exemple précédent dont les appels à f() ne se faisaient que sur une dimension, en ligne.
11 déc. 2016 à 08:20