欢迎来到天天文库
浏览记录
ID:38918193
大小:18.28 KB
页数:4页
时间:2019-06-21
《图遍历的演示实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、图遍历的演示实验报告题目:编写一个图遍历的演示班级:计算机三班姓名:陈俊昌学号:10923337完成日期:2012.5.14一、需求分析1、用邻接矩阵和邻接表的形式表示图,创建图。(设计中其中用邻接表表示的图内没有权重,用邻接矩阵表示的图内有权重。)2、输入图中节点的个数和边的个数,能够打印出用邻接表或邻接矩阵表示的图的储存结构。3、 本程序只求出用邻接矩阵表示的无向图的深度遍历,和用邻接表表示的无向图的深度和广度遍历4、程序执行命令为:(1)输入图;(2)输出图;(3)输出遍历。二:算法实现//邻接表的创建voidCreateDG
2、(ALGraph&G){//创建无向图cout<<"请输入顶点个数和边数:"<>G.vexnum>>G.arcnum;cout<<"请输入顶点值:"<>t;G.vertices[i].data=t;G.vertices[i].firstarc=NULL;}intm,n;for(intk=1;k<=G.arcnum;k++){cout<<"请输入第"<>m>>n;if(m<=G.
3、vexnum&&n<=G.vexnum&&m>0&&n>0){ArcAdd(G,m,n);ArcAdd(G,n,m);}elsecout<<"ERROR."<NULL"<<
4、endl;else{p=G.vertices[i].firstarc;cout<";while(p->nextarc!=NULL){cout<adjvex<<"-->";p=p->nextarc;}cout<adjvex<<"-->NULL"<5、alse;for(intm=1;m<=G.vexnum;m++)if(!visit[m])DFS(G,m);cout<6、Func(G.vertices[v].data);add(Q,v);while(Q.len!=0){Delete(Q,u);for(intw=FirstAdjVex(G,u);w>=1;w=NextAdjVex(G,u,w))if(!visit[w]){visit[w]=true;VisitFunc(G.vertices[w].data);add(Q,w);}}}cout<7、:"<>G.vexnum>>G.arcnum;cout<<"请输入"<>G.vexs[i];for(i=0;i8、>v1>>v2>>w;i=LocateVex(G,v1);j=LocateVex(G,v2);G.arcs[i][j].adj=w;G.arcs[j][i]=G.arcs[i][j];}}voidDFSTraverse(MGraphG
5、alse;for(intm=1;m<=G.vexnum;m++)if(!visit[m])DFS(G,m);cout<6、Func(G.vertices[v].data);add(Q,v);while(Q.len!=0){Delete(Q,u);for(intw=FirstAdjVex(G,u);w>=1;w=NextAdjVex(G,u,w))if(!visit[w]){visit[w]=true;VisitFunc(G.vertices[w].data);add(Q,w);}}}cout<7、:"<>G.vexnum>>G.arcnum;cout<<"请输入"<>G.vexs[i];for(i=0;i8、>v1>>v2>>w;i=LocateVex(G,v1);j=LocateVex(G,v2);G.arcs[i][j].adj=w;G.arcs[j][i]=G.arcs[i][j];}}voidDFSTraverse(MGraphG
6、Func(G.vertices[v].data);add(Q,v);while(Q.len!=0){Delete(Q,u);for(intw=FirstAdjVex(G,u);w>=1;w=NextAdjVex(G,u,w))if(!visit[w]){visit[w]=true;VisitFunc(G.vertices[w].data);add(Q,w);}}}cout<7、:"<>G.vexnum>>G.arcnum;cout<<"请输入"<>G.vexs[i];for(i=0;i8、>v1>>v2>>w;i=LocateVex(G,v1);j=LocateVex(G,v2);G.arcs[i][j].adj=w;G.arcs[j][i]=G.arcs[i][j];}}voidDFSTraverse(MGraphG
7、:"<>G.vexnum>>G.arcnum;cout<<"请输入"<>G.vexs[i];for(i=0;i
8、>v1>>v2>>w;i=LocateVex(G,v1);j=LocateVex(G,v2);G.arcs[i][j].adj=w;G.arcs[j][i]=G.arcs[i][j];}}voidDFSTraverse(MGraphG
此文档下载收益归作者所有