图5.3 Kruskal算法求解
6 课程设计总结
从这次给我的课程设计任务中我深刻地体会到了编程并非易事。任何事情并不是想我们想的那样简单和容易。只有扎扎时时的学习知识才能解决实际生活中的实际问题。从这次课设中也让我明白以后要多了解相关知识,更多的做一些实践动手活动,将知识运用到实际问题中。同时,增加自己的动手能力,这样才能便于我们更好的解决问题。为今后打下好的基础。
实验过程中,我遇到了很多问题,一开始就要建一个图,然后利用kruskal算法解决问题,这个题目是一个十分联系实际的题目,使我更加扎实的掌握了有关数据结构方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。过而能改,善莫大焉。在课程设计过程中,我不断发现错误,不断改正,不断领悟,不断获取。
15
最终的调试运行环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于迎刃而解。
当我完成课程设计后,我感到很欣喜。能完成让我感到什么叫做编程的快乐,什么叫做乐趣。也让明白要想把通信工程这门专业学好必须持之以恒地努力下去。
16
附录(源程序清单)
#include
}ArcCell,AdjMatrix[20][20]; typedef struct
{char vexs[20];AdjMatrix arcs; int vexnum,arcnum; }MGraph;
int localvex(MGraph G,char v)
{ int i=0; while(G.vexs[i]!=v) {++i;} return i;} void ljjzprint(MGraph G)
{ int i,j,n=0; printf(\建立的邻接矩阵如下:\\n\ printf(\ printf(\ for(i=0;i!=G.vexnum;i++)
17
{ for(j=0;j!=G.vexnum;j++) }
printf(\int creatMGraph(MGraph &G) {char v1,v2; int i,j,w; printf(\建立邻接矩阵:\\n\
printf(\请输入图G顶点(城市)和弧(边)的个数:\
scanf(\.vexnum); scanf(\.arcnum); printf(\输入所有顶点:\
for(i=0;i printf(\输入所有边及依附的顶点(城市)和权(距离):\\n\for(int k=0;k { cin>>v1>>v2>>w; i=localvex(G,v1); j=localvex(G,v2); G.arcs[i][j].adj=w; G.arcs[j][i].adj=w; } ljjzprint(G); printf(\图G邻接矩阵创建成功!\\n\ 18 { if(j==0)printf(\ \ printf(\.arcs[i][j].adj);printf(\ \ if(n==G.vexnum){ printf(\ { G.arcs[i][j].adj=int_max;
相关推荐: