Loading

今日共同报告-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];
                }

            }

        }
        
    }
    
}

 

posted @ 2023-03-16 21:32  冰稀饭Aurora  阅读(11)  评论(0编辑  收藏  举报