Bonjour,
Voila une citation que j'ai trouvée sur le net et j'aimerais avoir votre avis :
Complexité
Étant donné un algorithme, nous appelons opérations élémentaires :
· un accès en mémoire pour lire ou écrire la valeur d’une variable ou d’une case d’un
tableau ;
· une opération arithmétique entre entiers ou entre réels : addition, soustraction,
multiplication, division, calcul du reste dans une division entière ;
· une comparaison entre deux entiers ou deux réels.
Exemple : si on considère l’instruction c ¬ a + b, on peut compter quatre opérations
élémentaires :
· l’accès en mémoire pour lire la valeur de a,
· l’accès en mémoire pour lire la valeur de b,
· l’addition de a et b,
· l’accès en mémoire pour écrire la nouvelle valeur de c.
Pour un problème donné, on appelle instance tout jeu de données de ce problème. Par
exemple, pour un problème de tri, on obtient une instance en spécifiant la valeur numérique
des nombres à trier.
Ils ont certainement raison!; néanmoins ce qui me gène, c'est le fait d'attribuer (approximativement) le même temps d'exécution à une lecture en mémoire, écriture en mémoire, addition, soustraction,.... pour déterminer la complexité de l'algorithme. Personnellement, j'ai beaucoup travaillé dans le domaine de l'informatique industriel et je me rends compte facilement ce qui se passe au bas niveau, du point de vue composants!!. J'ai donc du mal à admettre cette idée d'opération élémentaire avec laquel raisonne les informaticiens au niveau algorithmique.
C'est certainement fiable; mais alors sur quelles argumentations s'appuie -t- on ?
Merci à vous