无向图构造邻接矩阵

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

按给定的任一连通无向图构造邻接矩阵,再进行深度优先遍历和广度优先遍历。

#include

using namespace std;

const int MaxSize=5; //无向图的顶点数

const int m=5; //无向图的边数

int vertexNum, arcNum; //顶点数和边数

char vertex[MaxSize]; //顶点数组

int arc[MaxSize][MaxSize]; //邻接矩阵

int visited[MaxSize];

void MGraph(char a[ ], int n, int e)

{

int i,j,k;

vertexNum=n; arcNum=e;

for (i=0; i

for (i=0; i

for (j=0; j

for (k=0; k

{ cin>>i>>j; //边依附的两个顶点的序号

arc[i][j]=1; arc[j][i]=1; //置有边标志

}

}

//深度优先遍

//广度优先遍历

int main()

{

int i;

char a[MaxSize];

for (i=0;i

cout <<"输入顶点数据:"<

for (i=0;i>a[i];

cout <<"依次输入每一条边两个顶点的序号:"<

MGraph(a, MaxSize, m);

cout <<"深度优先遍历序列为(递归):"<

DFSTraverse(0);cout << endl;

//for (i=0;i

//cout <<"深度优先遍历序列为(非递归):"<

//DFSTraverse1(0);cout << endl;

for (i=0;i

cout <<"广度优先遍历序列为:"<

BFSTraverse(0);cout << endl;

return 0;

}

相关文档
最新文档