• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

کد الگوریتم دایجسترا نیاز به آنالیز

ovje_parvaz

کاربر تازه وارد
تاریخ عضویت
4 ژانویه 2012
نوشته‌ها
1
لایک‌ها
0
بهترین کد واسه دایجسترا این هستش کسی میتونه اینو یه آنالیزی کنه متغیرها حلقه ها آرایه ها ممنون میشم
کد:
 #include #include #include
 #include #include #define IN 99 #define N 6 int dijkstra(int cost[][N], int source, int target); int dijsktra(int cost[][N],int source,int target) {     int dist[N],prev[N],selected[N]={0},i,m,min,start,d,j;     char path[N];     for(i=1;i< N;i++)     {         dist[i] = IN;         prev[i] = -1;     }     start = source;     selected[start]=1;     dist[start] = 0;     while(selected[target] ==0)     {         min = IN;         m = 0;         for(i=1;i< N;i++)         {             d = dist[start] +cost[start][i];             if(d< dist[i]&&selected[i]==0)             {                 dist[i] = d;                 prev[i] = start;             }             if(min>dist[i] && selected[i]==0)             {                 min = dist[i];                 m = i;             }         }         start = m;         selected[start] = 1;     }     start = target;     j = 0;     while(start != -1)     {         path[j++] = start+65;         start = prev[start];     }     path[j]='\0';     strrev(path);     printf("%s", path);     return dist[target]; } main() {     int cost[N][N],i,j,w,ch,co;     int source, target,x,y;     printf("\tShortest Path Algorithm(DIJKSRTRA's ALGORITHM\n\n");     for(i=1;i< N;i++)     for(j=1;j< N;j++)     cost[i][j] = IN;     for(x=1;x< N;x++)     {         for(y=x+1;y< N;y++)         {             printf("Enter the weight of the path between node %d and %d: ",x,y);             scanf("%d",&w);             cost [x][y] = cost[y][x] = w;         }         printf("\n");     }     printf("\nEnter The Source:");     scanf("%d", &source);     printf("\nEnter The target");     scanf("%d", &target);     co = dijsktra(cost,source,target);     printf("\nShortest Path: %d",co); }
 

sezar

Registered User
تاریخ عضویت
24 مارس 2006
نوشته‌ها
245
لایک‌ها
54
ميشه مرتب شده اش رو بزاري؟
 
بالا