第一次结对作业-今日共同报告-04-算法逻辑的探讨和研究
今天的合作任务:烁玚和我探讨了算法逻辑的实现,我们写了一部分算法逻辑的测试代码,
锁群负责编写,我负责测试是否正常实现。
今天的合作照:
今天的进度报告:
今天主要讨论了算法逻辑。
今天我们集中于最短路径算法要如何实现:目前看来有几种算法可以选择-一般来说是用迪杰斯特拉算法。深度优先和广度优先算法都是可行的,
同时也可以直接在数据层面使用SQL语句递归实现。
迪杰斯特拉算法示例代码:
public class dijstl {
public static void main(String[] args){
int u = 0;
int minx;
int dst[] = {};
int edge[][] = {};
int book[]={};
int inf = 0;
int n = 0;
for(int i=1;i<=n;i++) {
dst[i]=edge[1][i];
}
for(int i=1;i<=n;i++) {
book[i]=0;//初始化
}
book[1]=1;
for(int i=1;i<=n-1;i++){
minx=inf;
for(int j=1;j<=n;j++){
if(book[j]==0&&dst[j]<minx){
minx=dst[j];
u=j;
}
}
book[u]=1;
/***更新最短路径***/
for(int k=1;k<=n;k++){
if(book[k]==0&&dst[k]>dst[u]+edge[u][k]&&edge[u][k]<inf){
dst[k]=dst[u]+edge[u][k];
}
}
}
}
}

浙公网安备 33010602011771号