Advertisement

Dijkstra算法的最短路径(数学建模)

阅读量:

高中时期的同学委托我计算8个菜市场与35个销售点之间的最短路径,其中这些地点之间还存在15个交叉路口,需要求出这35乘以8等于280种组合对应的最短路径及相应结果。
这道关于最短路径的问题看似简单,但实际操作中仍需仔细处理。能够运用所学知识协助他人解决实际问题,确实是一种非常愉悦的体验。
具体的代码注释已在程序中详细标注,内容较为清晰明了。

复制代码
 #include<iostream>

    
 #include<cstdio>
    
 #include<string>
    
 #include<cstring>
    
 #include<algorithm>
    
 using namespace std; 
    
 #define INF 0x3f3f3f3 //INF代表无穷大 
    
 const int MAX_N=100;
    
 int map[MAX_N][MAX_N],vis[MAX_N];
    
 int dis[MAX_N];//dis代表到每个点的最短距离 
    
 int pre[MAX_N];//记录前驱 
    
 int ans[MAX_N];//输出路径的数组 
    
 void dijkstr(int x,int m){//x代表开始点,m代表顶点个数 
    
     for(int

全部评论 (0)

还没有任何评论哟~