实验6:图的实验1——图的邻接矩阵存储实现

实验6:图的实验1

             -图的邻接矩阵存储实现

一、实验目的

1、   熟练理解图的相关概念;

2、   掌握图的邻接矩阵的存储方法的实现;

3、   学会图的遍历算法

二、 实验内容

1、自己确定一个简单无向图(顶点数、和相关结点信息)利用邻接矩阵来实现存储。实现图的构造,并完成:

1)用深度优先和广度优秀两种算法对图进行遍历,输出顶点序列数据;

2)以合理的格式,输出各个顶点的邻接点;

2、试设计一个程序,对一个有向简单图,完成上题同样的任务(*)。

三、实验步骤

1、依据实验内容,先确定具体的图,并说明图的顶点数据类型;

2、设计具体的算法;

3、写出完整程序;

4、总结、运行结果和分析算法效率。

5、总体收获和不足,疑问等。

四、实验要求

1、   按照数据结构实验任务书,提前做好实验预习与准备工作。

2、   在个人主页上发文章提交作业。

实验课会抽查3-5人,希望你可以被查到!


1、实验代码

头文件:

#include
#include
#include
using namespace std;
const Size = 10;

MGraph类:

class MGraph{
public:
	MGraph(string a[],int n,int e);
	~MGraph(){};
    void DFSTraverse(){ for(int j=0;j

构造函数:

MGraph::MGraph(string a[],int n,int e)
{
	vertexNum = n;
	arcNum = e;
	int i;
	for(i=0;i>k>>j;
		arc[k][j] = 1;
		arc[j][k] = 1;
	}
}

深度遍历:

void MGraph::DFSTraverse(int v)
{
	cout<

广度遍历:

void MGraph::BFSTraverse(int v)
{
	for(int j=0;j

邻接点:

void MGraph::Approximal()
{
	for(int i=0;i

主函数:

void main()
{
	int n=0,e=0;
	string a[Size];
	cout<<"请输入顶点数和边数"<>n>>e;
	cout<<"请依次输入顶点内容"<>a[m];
	}
	MGraph mgraph(a,n,e);
	cout<<"广度遍历:";
	mgraph.BFSTraverse(0);
	cout<

2、实验截图

实验6:图的实验1——图的邻接矩阵存储实现_第1张图片

实验6:图的实验1——图的邻接矩阵存储实现_第2张图片

你可能感兴趣的:(数据结构)