diff options
author | Alexandre Jesus <adbjesus@gmail.com> | 2016-09-16 01:15:07 +0100 |
---|---|---|
committer | Alexandre Jesus <adbjesus@gmail.com> | 2016-09-16 01:15:07 +0100 |
commit | 80b7a8116d821aeae489086a403a6cdfd64d801a (patch) | |
tree | b362305db5c3d0b91e0714cb7fa29c2de8570e43 /src | |
parent | d8ea8dc5fa670477cb6a3c64a9fe7dbbb0c44898 (diff) | |
download | libuknapsack-80b7a8116d821aeae489086a403a6cdfd64d801a.tar.gz libuknapsack-80b7a8116d821aeae489086a403a6cdfd64d801a.zip |
Add time measure
Diffstat (limited to 'src')
-rw-r--r-- | src/common.c | 6 | ||||
-rw-r--r-- | src/dfs.c | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/common.c b/src/common.c index 92bd467..d6f1eb3 100644 --- a/src/common.c +++ b/src/common.c @@ -1,6 +1,7 @@ #include <stdlib.h> #include <stdio.h> #include <math.h> +#include <time.h> #include "structs.h" #include "common.h" @@ -47,8 +48,10 @@ void print_data(struct data * d){ } void print_front(struct front_item * b){ + struct front_item * beg = b; while(b!=NULL){ - printf("%.02f\t%.02f\n",b->i.p,b->i.w); + clock_t t = b->time - beg->time; + printf("%.02f,\t%.02f,\t%f\n", b->i.p, b->i.w, ((double)t)/CLOCKS_PER_SEC); b = b->next; } } @@ -73,6 +76,7 @@ struct front_item * new_front_item(double p, double w, struct front_item * prev, f->i.w = w; f->next = next; f->prev = prev; + f->time = clock(); return f; } @@ -14,6 +14,7 @@ struct front_item * rec(struct data * d, int i, struct item * it) { struct front_item * f1 = rec(d, i+1, it); it->p -= d->items[i].p; it->w -= d->items[i].w; + // Go right (do not select item) struct front_item * f2 = rec(d, i+1, it); |