calcul de complexité algorithmique
Salut,
j ai ecris ce programme qu on donne une liste de N nombres entiers et un entier K. Le programme trouve la somme la plus grande d une suite K élements consécutifs.
exemple:
en entrée ...
6
3
12
42
33
8
22
54
en sortie ...
87
car on obtient 87 en additionnant 12, 42 et 33.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #include <stdio.h>
int main()
{
int nombreElements;
int valeurSuiteElements;
scanf("%d%d", &nombreElements, &valeurSuiteElements);
int valeurEntree;
int max = 0;
int TabValeursEntree[10000];
int tabSomme[10000];
int i;
for (i = 0; i < nombreElements; i++)
{
scanf("%d", &valeurEntree);
TabValeursEntree[i] = valeurEntree;
}
int j, k;
for (j = 0; j < nombreElements-valeurSuiteElements+1; j++)
{
for (k = j; k < j+valeurSuiteElements; k++)
{
tabSomme[j] += TabValeursEntree[k];
}
if (tabSomme[j] > max)
max = tabSomme[j];
}
printf("%d", max);
return 0;
} |
Pouvez vous m aider a calculer la complexitée de mon algo.
Ce que sais qu une affection simple coute un temps constant c.
mais j arrives pas a calculer la complexitée de mes boucles surtout les 2 boucles imbriquées. :(
Code:
1 2 3 4 5 6 7 8 9
| for (j = 0; j < nombreElements-valeurSuiteElements+1; j++)
{
for (k = j; k < j+valeurSuiteElements; k++)
{
tabSomme[j] += TabValeursEntree[k];
}
if (tabSomme[j] > max)
max = tabSomme[j];
} |
Et donner moi votre avis sur mon algo svp. :)
Merci!