实验8图的邻接矩阵表示及遍厉算法.doc_第1页
实验8图的邻接矩阵表示及遍厉算法.doc_第2页
实验8图的邻接矩阵表示及遍厉算法.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验八 图的邻接矩阵表示及遍厉算法科目:数据结构实验和课程设计 班级:10信管 姓名:戴丽 学号:2010110401实验目的:熟悉C语言程序的基本结构,掌握程序中的用户头文件、文件之间的相互关系及各自的作用。熟悉图的邻接矩阵表示和遍历算法。熟悉C语言操作环境的使用以及多文件程序的输入、编辑、调试和运行的全过程。实验要求:认真阅读和掌握本实验内容所给的全部程序。保存和输出程序运行结果,并结合程序进行分析。按照你对图的邻接矩阵表示和遍历算法,编写程序代码然后运行,给出运行结果。实验设备:每人一台安装VC6.0编写软件的计算机,公用打印机。注意事项:要在硬盘上建立好自己的工作目录,专门用来存储自己所做的实验程序及相关数据,以后每次做实验最好仍采用这个目录。认真编写算法及运行结果,针对本实验的具体算法,认真写出算法分析。实验步骤:#include /无向连通图的邻接矩阵表示以及无向连通图的深度优先搜索、广度优先搜索#define n 4/图中的顶点数#define e 5/图中的边数typedef char vertype;/设置图的顶点信息为整型struct graph vertype vexsn;/图的顶点信息表 int ann;/图的邻接矩阵;/图的邻接矩阵表示结构定义graph create()/建立无向连通图g的邻接矩阵表示graph g; int i,j,k; for(k=0;kg.vexsk; for(i=0;in;i+) for(j=0;jn;j+) g.aij=0; for(k=0;kij; g.aij=g.aji=1; return g;void dfs(graph g,int i)/对以邻接矩阵表示的无向连通图,以序号为i的顶点为出发点进行深度优先搜索coutg.vexsi;int flag4=1,1,1,1;for(int j=0;j4;j+)if(g.aij!=0&!flagj)dfs(g,j);void bfs(graph g,int i)/对以邻接矩阵表示的无向连通图,以序号为i的顶点作为出发点进行广度优先搜索int j,w,flag4=0;int s100,front,rear=0;char p;coutg.vexsi;flagi=1;rear+;srear=i;while(front!=rear)front+;w=sfront;p=g.vexsw;for(j=0;j4;j+)if(g.aij!=0&!flagj)coutg.vexsj;flagj=1;rear+;srear=j;void main() graph g;/申请无向连通图g的邻接矩阵表示空间 g=create();/建立用邻接矩阵表示的无向连通图cout对无向连通图g进行深度优先搜索得到的序列是:; dfs(g,0);cout对无向连通图g进行广度优先搜索得到的序列是:; bfs(g,0);算法分析:1、 邻接矩阵是表示顶点之间相互关系的矩阵,用邻接矩阵方法存储图,很容易确定图中任意两个顶点之间是否有关联。2、 图的遍历是按照某种搜索方法沿着图的边访问图的所有顶点,使每个顶点仅被访问一次。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论