资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
#include#include#includetypedef int VertexType;typedef int WeightType;const int MaxVertexNum=10;const WeightType MaxValue=1000;typedef VertexType vexlistMaxVertexNum;typedef int adjmatrixMaxVertexNumMaxVertexNum;/1.图的邻接矩阵存储的初始化算法void InitMaxtrix(adjmatrix GA,int k)int i,j;for(i=0;iMaxVertexNum;i+)for(j=0;jc1;if(k1=0 & k2=0)dosinc1ic2jc3;GAij=GAji=1;sinc1;if(c1=) break;while(1);else if(k1=0 & k2!=0)do sinc1ic2jc3w;GAij=GAji=w;sinc1;if(c1=) break;while(1);else if(k1!=0 & k2=0)dosinc1ic2jc3;GAij=1;sinc1;if(c1=) break;while(1);else if(k1!=0 & k2!=0)do sinc1ic2jc3w;GAij=w;sinc1;if(c1=) break;while(1);/3.根据图的邻接矩阵输出图的二元组表示(顶点和边集)的算法void PrintMaxtrix(adjmatrix GA,int n,int k1,int k2)int i,j;coutV=;for(i=0;in-1;i+) couti,;coutn-1endl;coutE=;if(k2=0)for(i=0;in;i+)for(j=0;jn;j+)if(GAij=1)if(k1=0)if(ij) cout(i,j),;elsecouti,j,;elsefor(i=0;in;i+)for(j=0;jn;j+)if(GAij!=0 & GAij!=MaxValue)if(k1=0)if(ij) cout(i,j),;elsecouti,j,;coutendl;/4.图的深度优先搜索遍历void dfsMatrix(adjmatrix GA,int i,int n,bool*visited)couti ;visitedi=true;for(int j=0;jn;j+)if(GAij!=0 & GAij!=MaxValue & !visitedj)dfsMatrix(GA,j,n,visited);/5.图的广度优先搜索遍历void bfsMatrix(adjmatrix GA,int i,int n,bool*visited)const int MaxSize=30;int qMaxSize=0;int front=0,rear=0;couti ;visitedi=true;q+rear=i;while(front!=rear)front=(front+1)%MaxSize;int k=qfront;for(int j=0;jn;j+)if(GAkj!=0 & GAkj!=MaxValue & !visitedj)coutj ;visitedj=true;rear=(rear+1)%MaxSize;qrear=j;/if end/for end/while end/end/主函数void main()int i,n,k1,k2;coutn;coutk1k2;bool*visited=new booln;adjmatrix ga;InitMaxtrix(ga,k2);couta;CreateMatrix(ga,n,a,k1,k2);cout按图的邻接矩阵得到深度优先遍历序列:endl;for(i=0;in;i+) visitedi=false;dfsMatrix(ga,0,n,visited);coutendl;cout按图的邻接矩阵得到的广度优先遍历序列:endl;for(i=0;in;i+) visitedi=false;bfsMatrix(ga,0,n,visited);coutendl;PrintMaxtrix(ga,n,k1,k2);
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号