最短路径Dijkstra算法实验报告

最短路径Dijkstra算法实验报告

ID:38745469

大小:127.00 KB

页数:5页

时间:2019-06-18

最短路径Dijkstra算法实验报告_第1页
最短路径Dijkstra算法实验报告_第2页
最短路径Dijkstra算法实验报告_第3页
最短路径Dijkstra算法实验报告_第4页
最短路径Dijkstra算法实验报告_第5页
资源描述:

《最短路径Dijkstra算法实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、姓名:张进学号:03091256班级:030913班实验六:编程实现Dijkstra算法求最短路问题.1.需求分析:首先让用户输入一个带权的有向图,输入时可通过一对一对输入存在弧的两个弧头与弧尾顶点以及弧上的权值从而输入整个有向图。用户输入一对对弧后,我们可以采用数组的形式来进行存储每个顶点之间的权值,最后由用户输入该有向图的源点(即每个最短路径的起点),要求源点必须为刚才输入的各顶点中的某一个,如果用户输入错误,程序要给出错误信息提示并退出程序。然后,我们可以设计一个Graph这样的类,将对关系的各种操作放入其中,然后我们在主函数中调运这个类就可以实现最短路问题的求解了。2

2、.概要设计:①.构造一个新的类Graph:classGraph{private:intarcs[MAX][MAX],Path[MAX][MAX],D[MAX];intarcnum,vexnum,weight,v0;Typea,b,vexs[MAX];public:voidCreat_Graph();voidShow_ShortestPath();voidShortestPath_DIJ();};②.结构化调用类中方法的主函数:intmain(){GraphG;G.Creat_Graph();G.ShortestPath_DIJ();G.Show_ShortestP

3、ath();return0;}3.代码实现:#include#defineMAX100#defineINFINITYINT_MAXenumBOOL{FALSE,TRUE};usingnamespacestd;templateclassGraph{private:intarcs[MAX][MAX],Path[MAX][MAX],D[MAX];intarcnum,vexnum,weight,v0;Typea,b,vexs[MAX];public:voidCreat_Graph();voidShow_ShortestPath();vo

4、idShortestPath_DIJ();};templatevoidGraph::Creat_Graph(){inti,j,x,y;cout<<"请输入你要处理的有向图中包含弧的个数:";cin>>arcnum;vexnum=0;for(i=1;i<=MAX;i++)for(j=1;j<=MAX;j++)arcs[i][j]=INT_MAX;for(i=1;i<=arcnum;i++){cout<<"请依次输入第"<>a>>b>>weight;x=0;y=

5、0;for(j=1;j<=vexnum;j++){if(vexs[j]==a){x=j;continue;}elseif(vexs[j]==b){y=j;continue;}}if(x==0){vexs[++vexnum]=a;x=vexnum;}if(y==0){vexs[++vexnum]=b;y=vexnum;}arcs[x][y]=weight;}cout<<"请输入该有向图的源点(即各最短路径的起始顶点):";cin>>a;for(i=1;i<=vexnum;i++){if(vexs[i]==a){v0=i;break;}}}template

6、e>voidGraph::Show_ShortestPath(){inti,j,k;for(i=1;i<=vexnum;i++){if(i==v0)continue;if(D[i]!=INT_MAX){cout<<"从源点"<";for(j=1;j<=vexnum;j++)if(Path[i][j]==k)cout<

7、endl;}else{cout<<"无法从源点"<voidGraph::ShortestPath_DIJ(){intv,w,final[MAX],min,i,j;for(v=1;v<=vexnum;v++){final[v]=FALSE;D[v]=arcs[v0][v];Path[v][0]=0;for(w=0;w<=vexnum;w++)Pat

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。