Galera!
To com um problema, tenho o seguinte código do problema da mochila binária em programação dinâmica e tenho que contar o tempo de execução desse algoritmo.
O código é esse:
// Uma solução baseada em programação dinâmica para o problema da mochila binária
#include<stdio.h>
#include<time.h>
// Uma função util que retorna o maximo de dois inteiros
int max(int a, int b) { return (a > b)? a : b; }
// Retorna o valor máximo que pode ser colocado em uma mochila de capacidade W
int Mochila(int cap_mochila, int peso[], int val[], int n)
{
int i, w;
int K[n+1][cap_mochila+1];
// Constoi a tabela K[][] de forma bottom up
for (i = 0; i <= n; i++)
{
for (w = 0; w <= cap_mochila; w++)
{
if (i==0 || w==0)
K[i][w] = 0;
else if (peso[i-1] <= w)
K[i][w] = max(val[i-1] + K[i-1][w-peso[i-1]], K[i-1][w]);
else
K[i][w] = K[i-1][w];
}
}
return K[n][cap_mochila];
}
int main()
{
int val[] = {60, 100, 120, 60, 100, 120, 60, 100, 120, 60, 100, 120,
60, 100, 120, 60, 100, 120, 60, 100, 120, 60, 100, 120, 60, 100, 120,
60, 100, 120};
int peso[] = {10, 20, 30, 10, 20, 30, 10, 20, 30, 10, 20, 30, 10, 20, 30,
10, 20, 30, 10, 20, 30, 10, 20, 30, 10, 20, 30, 10, 20, 30};
int cap_mochila = 500;
int n = sizeof(val)/sizeof(val[0]);
printf("Maximo inserido na mochila: %d\n", Mochila(cap_mochila, peso, val, n));
return 0;
}
Alguém poderia me dar uma mão. Eu sei que tenho que usar a biblioteca <time.h>, mas não sei quais os lugares corretos para colocar os parâmetros de iniciar e finalizar a contagem de tempo e de como exibir o resultado com um printf, no main.