- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图遍历C数据结构
数据结构实验(五)
评分 :______
专业 :计算机科学与技术班级 :计算机09-1
姓名 :***
指导老师 :陈**
完成时间 :2010-12-5
实验五 图的遍历
一、题目:
(一)实习目的
掌握图的基本概念和邻接矩阵、邻接表的存储结构。
掌握图的邻接矩阵和邻接表的存储结构的算法实现。
掌握图在邻接矩阵和邻接表存储结构上遍历算法的实现。
(二)实习内容
用邻接矩阵或邻接表实现深度优先搜索遍历。
用邻接矩阵或邻接表实现广度优先搜索遍历。
二、程序代码:
#includeiostream
using namespace std;
const int MaxSize=8;
class MGraph
{
public:
MGraph(int a[],int n,int e);
~MGraph(){}
int GetVex(int i);
void DFSTraverse(int v);
void BFSTraverse(int v);
void Resetvisited();
private:
int vertex[MaxSize];
int arc[MaxSize][MaxSize];
int vertexNum,arcNum;
int visited[MaxSize];
};
MGraph::MGraph(int a[],int n,int e)
{
int i,j,k;
vertexNum=n;
arcNum=e;
for(i=0;ivertexNum;i++)
{
vertex[i]=a[i];
visited[i]=0;
}
for(i=0;ivertexNum;i++)
for(j=0;jvertexNum;j++)
arc[i][j]=0;
cout请输入依次两两地输入有边的结点endl;
for(k=0;karcNum;k++)
{
cinij;
arc[i][j]=1;
arc[j][i]=1;
}
}
void MGraph::Resetvisited()
{
int i;
for(i=0;ivertexNum;i++)
visited[i]=0;
}
void MGraph::DFSTraverse(int v)
{
int j;
coutvertex[v] ;
visited[v]=1;
for(j=0;jvertexNum;j++)
if(arc[v][j]==1visited[j]==0)
DFSTraverse(j);
}
void MGraph::BFSTraverse(int v)
{
int j,front,rear;
int Q[MaxSize];
front=rear=-1;
coutvertex[v] ;
visited[v]=1;
Q[++rear]=v;
while(front!=rear)
{
v=Q[++front];
for(j=0;jvertexNum;j++)
if(arc[v][j]==1visited[j]==0)
{
coutvertex[j] ;
visited[j]=1;
Q[++rear]=j;
}
}
}
void main()
{
int a[8]={1,2,3,4,5,6,7,8};
MGraph g(a,8,15);
cout深度优先遍历:;
g.DFSTraverse(1);
coutendlendl;
g.Resetvisited();
cout广度优先遍历:;
g.BFSTraverse(1);
coutendlendl;
}
三、运行结果:
四、实验心得:
这次实验中,遇到的最大问题是控制访问过的visited[MaxSize] 数组。初始时,未对其初始化,造成遍历失败。做实验的时候总是做得不好,在同学们和查书的基础上,也上网找了相关的内容才完成了这次实验。能完成实验并不说明就能写好程序,但我还会继续努力。加油!
2
1
61
5
3
8
4
71
您可能关注的文档
最近下载
- GB50086-2015 岩土锚杆与喷射混凝土支护工程技术规范.docx
- T GAIA 031—2025 人血清中米酵菌酸的测定 高效液相色谱-串联质谱法.pdf VIP
- 内蒙古森工集团招聘考试真题2024.docx VIP
- 铁路客运组织.pptx VIP
- 2025江苏苏州市农业发展集团有限公司下属子公司工作人员招聘13人考试备考试题及答案解析.docx VIP
- 火车过桥问题课件.ppt VIP
- 2025年农村生活污水治理资金申请专项报告.docx
- YS_T 1092-2015有色重金属冶炼渣回收的铁精粉.pdf
- 主体结构验收汇报施工单位最新.doc VIP
- 05X101-2 地下通信线缆敷设(OCR).pdf VIP
文档评论(0)