- 7
- 0
- 约6.72千字
- 约 7页
- 2018-04-15 发布于浙江
- 举报
[2018年最新整理]实验四 图的实现及遍历
实验四 图的实现及遍历
题目:(1)采用邻接矩阵作为图的存储结构,完成有向图和无向图的DFS和BFS操作;
(2)采用邻接链表作为图的存储结构,完成有向图和无向图的DFS和BFS操作。
班级:0421001 姓名: 杨欢 学号:2010211971 完成日期:2011.12.3
一、需求分析
掌握有向图和无向图的概念;掌握邻接矩阵和邻接链表建立图的存储结构;掌握DFS及BFS对图的遍历操作;了解图结构在人工智能、工程等领域的广泛应用。
实验要求:
分析、理解程序。
调试程序。设计一个有向图和一个无向图,任选一种存储结构,完成有向图和无向图的DFS(深度优先遍历)和BFS(广度优先遍历)的操作。
二、概要设计
1,分析理解,调试程序
2 ,设计一个无向图G,如右图所示
3,设计一个有向图K,如右下图所示
4,分别对无向图G和有向图K进行邻接矩阵存储和邻接链表存储,再分别进行深度优先遍历和广度优先遍历。
附加程序代码
邻接矩阵作为存储结构的程序示例
#includestdio.h
#includestdlib.h
#define MaxVertexNum 100 //定义最大顶点数
typedef struct{
char vexs[MaxVertexNum]; //顶点表
int edges[MaxVertexNum][MaxVertexNum]; //邻接矩阵,可看作边表
int n,e; //图中的顶点数n和边数e
}MGraph; //用邻接矩阵表示的图的类型
//=========建立邻接矩阵=======
void CreatMGraph(MGraph *G)
{
int i,j,k;
char a;
printf(Input VertexNum(n) and EdgesNum(e): );
scanf(%d,%d,G-n,G-e); //输入顶点数和边数
scanf(%c,a);
printf(Input Vertex string:);
for(i=0;iG-n;i++)
{
scanf(%c,a);
G-vexs[i]=a; //读入顶点信息,建立顶点表
}
for(i=0;iG-n;i++)
for(j=0;jG-n;j++)
G-edges[i][j]=0; //初始化邻接矩阵
printf(Input edges,Creat Adjacency Matrix\n);
for(k=0;kG-e;k++) { //读入e条边,建立邻接矩阵
scanf(%d%d,i,j); //输入边(Vi,Vj)的顶点序号
G-edges[i][j]=1;
G-edges[j][i]=1; //若为无向图,矩阵为对称矩阵;若建立有向图,去掉该条语句
}
}
//=========定义标志向量,为全局变量=======
typedef enum{FALSE,TRUE} Boolean;
Boolean visited[MaxVertexNum];
//========DFS:深度优先遍历的递归算法======
void DFSM(MGraph *G,int i)
{ //以Vi为出发点对邻接矩阵表示的图G进行DFS搜索,邻接矩阵是0,1矩阵
int j;
printf(%c,G-vexs[i]); //访问顶点Vi
visited[i]=TRUE; //置已访问标志
for(j=0;jG-n;j++) //依次搜索Vi的邻接点
if(G-edges[i][j]==1 ! visited[j])
DFSM(G,j); //(Vi,Vj)∈E,且Vj未访问过,故Vj为新出发点
}
void DFS(MGraph *G)
{
int i;
for(i=0;iG-n;i++)
visited[i]=FALSE; //标志向量初始化
for(i=0;iG-n;i++)
if(!visited[i]) //Vi未访问过
DFSM(G,i); //以Vi为源点开始DFS搜索
}
//===========BFS:广度
您可能关注的文档
- [2018年最新整理]安全网络知识答题.docx
- [2018年最新整理]安全经验分享—保守秘密 人人有责.ppt
- [2018年最新整理]安全评价师考试真题及答案.docx
- [2018年最新整理]安全考试标准试卷六(山东汇科).doc
- [2018年最新整理]安全资质审批表(表样).doc
- [2018年最新整理]安全评价试题分析.ppt
- [2018年最新整理]安全管理知识.ppt
- [2018年最新整理]安全部工作流程.doc
- [2018年最新整理]安全防范工程施工.pptx
- [2018年最新整理]安全防范工程技术规范2014-56.ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- DL∕T 781-2021电力用高频开关整流模块_PDF解密.docx VIP
- 2025公务员采矿专业测试题及答案.docx VIP
- 【历史】开学第一课课件--2024-2025学年统编版七年级历史下册.pptx VIP
- 大数据技术在企业会计风险管理中的创新应用 .docx VIP
- 新英语900句(中英文).pdf VIP
- 2025最新高一英语单项选择精编500题.docx VIP
- GBT 28259-2012 石油天然气工业 井下设备 井下安全阀.docx VIP
- 项目九 小学科学教学设计与实施.pptx VIP
- 2025年统编版中考语文课内文言文《桃花源记》三年中考试题+模拟题(学生版+解析).pdf VIP
- 山东省日照市2026届高三上学期期末考试政治试卷(含答案).pdf VIP
原创力文档

文档评论(0)