- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构-实验8-图的基本操作
实验题目图的基本操作实1)掌握图的邻接矩阵、邻接表的表示方法。
2)掌握建立图的邻接矩阵的算法。
3)掌握建立图的邻接表的算法。
4)加深对图的理解,逐步培养解决实际问题的编程能力.需求分析
(1)编写图基本操作函数。
①建立图的邻接表,邻接矩阵 Create_Graph( LGraph lg. MGraph mg )
②邻接表表示的图的递归深度优先遍历 LDFS( LGraph g, int i )
③邻接矩阵表示的图的递归深度优先遍历MDFS( MGraph g,int i, int vn )
④邻接表表示的图的广度优先遍历 LBFS( LGraph g, int s, int n )
⑤邻接矩阵表示的图的广度优先遍历 MBFS(MGraph g, int s, int n )
(2)调用上述函数实现下列操作。
①建立一个图的邻接矩阵和图的邻接表。
②采用递归深度优先遍历输出图的邻接矩阵
③采用递归深度优先遍历输出图的邻接表。
④采用图的广度优先调历输出图的邻接表。
⑤采用图的广度优先遍历输出图的邻接矩阵.概要设计
结构体typedef struct
{
char vexs[MAX_VERTEX_NUM]; // 顶点向量
int acrs[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; // 邻接矩阵
int vexnum,arcnum; // 图当前顶点数和弧数
}MGraph ;
typedef struct ArcNode
{
int adjvex; // 该弧所指向的顶点的位置
struct ArcNode *nextarc; // 指向下一条弧的指针
}ArcNode;
typedef struct VNode
{
char data; // 顶点信息
ArcNode *firstarc; // 指向第一条依附该顶点的弧的指针
}VNode, AdjList[MAX_VERTEX_NUM];
typedef struct
{
AdjList vertices;
int vexnum,arcnum; // 图当前顶点数和弧数
}LGraph;
typedef struct Queue
{
int arry[MAX_VERTEX_NUM];
int front,rear;
}Queue;
本程序包含个函数:
主函数()
建立图的邻接矩阵,邻接表 Create_Graph ()
邻接表表示的图的递归深度优先遍历 LDFS ()
邻接矩阵表示的图的递归深度优先遍历 MDFS ()
邻接表表示的图的广度优先遍历 LBFS ()
邻接矩阵表示的图的广度优先遍历 MBFS()
各函数间调用关系如下:
主函数的伪码
main()
{ ;
;
}
5详细设计
#include stdio.h
#include malloc.h
#include stddef.h
#include math.h
#define OK 1
#define ERROR 0
#define MAX_VERTEX_NUM 33
int visited[MAX_VERTEX_NUM];
typedef struct
{
int vexnum,arcnum; // 图当前顶点数和弧数 char vexs[MAX_VERTEX_NUM]; // 顶点向量
int acrs[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; // 邻接矩阵
}MGraph ;
typedef struct ArcNode
{
int adjvex;
struct ArcNode *nextarc;
}ArcNode;
typedef struct VNode
{
char data;
ArcNode *firstarc;
}VNode, AdjList[MAX_VERTEX_NUM];
typedef struct
{
AdjList vertices;
int vexnum,arcnum;
}LGraph;
typedef struct Queue
{
int arry[MAX_VERTEX_NUM];
int front,rear;
}Queue;
Queue Q;
void InitQueue()
{
Q.front=Q.rear=0;
}
int QueueEmpty(Queue *Q)
您可能关注的文档
- 建筑工程质量策划书.doc
- 微机原理及接口技术课程教学大纲4.doc
- 引用修辞格及其它题型专题训练(含答案).doc
- 影视广告创作彭初恒小组课程实验报告.doc
- 德州市农村土地流转现状及发展策略探析.doc
- 微型图书馆系统---C程序设计.doc
- 弱电常用图形符号.doc
- 心率脉搏图像显示.docx
- 影棚全景修图流程.doc
- 必修一14s-t图像和v-t图像.doc
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
最近下载
- 2024年上半年教师资格证考试《初中语文》真题.docx
- 耳鼻喉科考试题及答案.docx VIP
- 超星尔雅学习通《组织行为学》章节测试答案满分版.doc
- 高中数学椭圆、双曲线抛物线综合练习题及答案-.pdf VIP
- 2024 巡察整改专题民主生活会个人对照检查材料.docx VIP
- 2024年上半年教师资格证考试《初中语文》真题.pdf
- 基于Modbus总线的马铃薯贮藏库温湿度采集.doc VIP
- 2025年全国保密教育线上培训考试试题库及完整答案【全优】.docx VIP
- 2024年上半年教师资格证考试《教育知识与能力》(中学)真题.pdf
- 晓磊(CHXL)Lei3000变频器说明书用户手册.pdf
文档评论(0)