Алгоритм Дейкстра, Детальна інформація
Алгоритм Дейкстра
for (i=0; i < n; i++){
for (j=0; j < n; j++){
weigh[n*i+j]=(-1);
}
}
printf("\nВведіть послідовно ваги ребер для зазначених чи вершин -1 для несуміжних.");
for (i=0; i < n; i++){
for (j=i+1; j < n; j++){
printf("\nВеpшини %d і %d ",i+1,j+1);
k=scanf("%lf",&tmp);
if (k != 1){return(1);}
weigh[i*n+j]=tmp;
}
}
return(0);
}
int deik(int n,int s, double* weigh, int* Q, double* L){
int i,j,k;
int* QI; /* Масив індикаторів сталості міток покажчиків */
double tmp;
QI=calloc(n,sizeof(int));
if (QI == NULL){return(2);}
QI[s]=1;
for (i=0; i < n; i++){
Q[i]=(-1);
L[i]=DBL_MAX;
}
Q[s]=s;
L[s]=0;
weigh[n*(n-1)+s]=0;
for (j=0; j < n; j++){
weigh[n*i+j]=(-1);
}
}
printf("\nВведіть послідовно ваги ребер для зазначених чи вершин -1 для несуміжних.");
for (i=0; i < n; i++){
for (j=i+1; j < n; j++){
printf("\nВеpшини %d і %d ",i+1,j+1);
k=scanf("%lf",&tmp);
if (k != 1){return(1);}
weigh[i*n+j]=tmp;
}
}
return(0);
}
int deik(int n,int s, double* weigh, int* Q, double* L){
int i,j,k;
int* QI; /* Масив індикаторів сталості міток покажчиків */
double tmp;
QI=calloc(n,sizeof(int));
if (QI == NULL){return(2);}
QI[s]=1;
for (i=0; i < n; i++){
Q[i]=(-1);
L[i]=DBL_MAX;
}
Q[s]=s;
L[s]=0;
weigh[n*(n-1)+s]=0;
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021