void main() { char exitint; graph maingraph; maingraph = getgraph(); printgraph(maingraph); printtopsortorder(maingraph); printf("\npress the enter key to quit"); scanf("%c",&exitint); }
int main(int argc, char *argv[]) { getgraph(); int i,j,count=0; printf("Enter the source node\n"); scanf("%c",&src); source=demap(src); r=source; initialize(); while(count<6) // while((x[0]!=99) && (x[1]!=99) && (x[2]!=99) && x[3]!=99 && x[4]!=99 && x[5]!=99) { choose(); for(i=0; i<6; i++) { if(node[r][i]<99)//if there is a path { if(d[i]>d[r]+node[r][i])//if value of bubble is > the new cost to get to that node { d[i]=d[r]+node[r][i]; p[i]=r; // printf("d[%d]: %d, p[%d]: %d\n",i,d[i],i,p[i]); } } } x[r]=99; count++; // printf("\n\n"); } printf("Shortest Path From %c to x:\t| Total Cost\n",map(source)); printf("---------------------------------------------\n"); for(i=0; i<6; i++) { printf("From %c to %c: ",map(source),map(i)); if(i!=source) { ctr=i; // printf("%c->",map(ctr)); final[f]=map(ctr); f++; while(p[ctr]!=source) { //printf("%c->",map(p[ctr])); final[f]=map(p[ctr]); f++; ctr=p[ctr]; } final[f]=map(p[ctr]);
int main(int argc, char *argv[]) { int seed; if (argc!=2) { printf("\tUsage: tabu file\n"); exit(1); } about("TABU"); /* Set up graph */ i = getrusage(RUSAGE_SELF,&tmp); seconds = tmp.ru_utime.tv_sec; microsecs = tmp.ru_utime.tv_usec; getgraph(argv[1]); i = getrusage(RUSAGE_SELF,&tmp); seconds = tmp.ru_utime.tv_sec-seconds; microsecs = tmp.ru_utime.tv_usec-microsecs; printf("GRAPH SETUP cpu = %5.2f\n", seconds+(microsecs/1000000.0)); /* perform color search */ /* Random initialization for search */ printf("Enter seed for search randomization: "); scanf("%d",&seed); printf(" %d\n",seed); srandom(seed); i = getrusage(RUSAGE_SELF,&tmp); seconds = tmp.ru_utime.tv_sec; microsecs = tmp.ru_utime.tv_usec; colorsearch(argv[1]); i = getrusage(RUSAGE_SELF,&tmp); seconds = tmp.ru_utime.tv_sec-seconds; microsecs = tmp.ru_utime.tv_usec-microsecs; printf("Coloring time cpu = %5.2f\n", seconds+(microsecs/1000000.0)); return(0); }
int main (int argc,char *argv[]) { double sigx = 0.0 ,sigx2 = 0.0, sig; int nn,ne,cval = 0,num_attemp = 0,mincval = 32600; int *igraph, *ma,*mb,*costa,oneflag = 1; /* ,*check,x; */ nodez *alist; indextype *sindex; clock_t startt; float matcht = 0,partt= 0,swapt = 0,bestt,ttime,curtime,run_time; periodt(); startt = clock(); srand(32063); getgraph(argc,argv,&igraph,&ma,&mb,&sindex, &nn,&ne,&alist); cand_list_size = atoi(argv[4]); if(argv[3][0] == '4') big_flag = 0; run_time = atof(argv[5]); readgraph(ne,nn,igraph,alist); curtime = clock()/CLK_TCK; while (curtime < run_time * 2) { num_attemp++; remem(&costa,nn); switch (argv[2][0]) { case '1': heappart(costa,nn,ma,mb,alist); partt += periodt(); break; case '2': greedypart(costa,nn,ma,mb,sindex,alist); partt += periodt(); break; default : exit(0); } switch (argv[3][0]) { case '1': hswap(igraph,ma,mb,costa,nn,&cval,alist); break; case '2': slightswap(igraph,ma,mb,costa,nn,&cval,alist); break; case '3': slightestswap(igraph,ma,mb,costa,nn,&cval,alist); break; case '4': aslightswap(ma,mb,costa,nn,&cval,alist); break; default : hswap(igraph,ma,mb,costa,nn,&cval,alist); } swapt += periodt(); free(costa); sig = cval; sigx += sig; sigx2 += (sig * sig); if (cval < mincval) { bestt = ((clock() - startt)/CLK_TCK); mincval = cval; /* check = (int *) calloc (nn + 1,sizeof(int)); for(x = 1; x<= nn / 2; x++) { check[ma[x]]++; check[mb[x]]++; } for (x = 1; x<= nn; x++) printf("\ncheck %d: %d",x,check[x]); printf("\n\n"); free(check); */ } cval = 0; curtime = clock()/CLK_TCK; if (!oneflag && curtime >= run_time) { oneflag++; ttime = ((clock() - startt)/CLK_TCK); printf("%d\n",mincval); printf("%f\n",ttime); printf("%f\n",bestt); printf("%f\n",matcht); printf("%f\n",partt); printf("%f\n",swapt); printf("%lg\n",sigx); printf("%lg\n",sigx2); printf("%d\n",num_attemp); } } /* while */ ttime = ((clock() - startt)/CLK_TCK); printf("min cost = %d\n",mincval); // printf("%f\n",ttime); // printf("%f\n",bestt); // printf("%f\n",matcht); // printf("%f\n",partt); // printf("%f\n",swapt); // printf("%lg\n",sigx); // printf("%lg\n",sigx2); printf("number of attempts = %d\n",num_attemp); free (alist); if (big_flag) free(igraph); free (ma); free(mb); free (sindex); return EXIT_SUCCESS; }