- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构(B)上机实验四__图
数据结构上机实验六
实验内容:图的基本操作
实验要求:
1) 图的遍历与基本操作要作为函数被调用.
2) 把自己使用的图结构明确的表达出来.
3) 基本上实现每个实验题目的要求.
分组要求:可单独完成,也可两人一组。
实验目的:
1)熟悉C/C++基本编程,培养动手能力.
2)通过实验,加深对图的理解.
评分标准:
1) 只完成第一和第二题,根据情况得4,5分;
2)完成前3题,根据情况得5,6分;
3)在2)基础上,选做四)中题目,根据情况得7到10分。
题目:
一)建立一个无向图+遍历+插入
(1)以数组表示法作为存储结构,从键盘依次输入顶点数、弧数与各弧信息建立一个无向图;
(2)对(1)中生成的无向图进行广度优先遍历并打印结果;
(3)向(1)中生成的无向图插入一条新弧并打印结果;
二)建立一个有向图+遍历+插入+删除
(1)以邻接表作为图的存储结构,从键盘输入图的顶点与弧的信息建立一个有向图;
(2)对(1)中生成的有向图进行深度优先遍历并打印结果;
(3)在(1)中生成的有向图中,分别插入与删除一条弧并打印其结果;
(4)在(1)中生成的有向图中,分别插入与删除一个顶点并打印结果;
(5) 在(1)中生成的有向图中,各顶点的入度与出度并打印结果;
三)基本应用题
(1)编写算法,判断图中指定的两个顶点是否连通。
(2)编写算法,判断图的连通性。如果不连通,求连通分量的个数
(3)编写算法,判断图中任意两个顶点的连通性
(4)编写算法,判断图中是否存在回路。
(5)实现图的广度优先搜索算法。
四)高级应用题
(1)实现Prim算法
(2)实现Kruskal算法
(3)实现迪杰斯特拉算法
(4)实现拓扑排序算法
(5)实现关键路径算法
#includestdio.h
#includestdlib.h
#includestring.h
//…………………… 宏定义……………………
#define int_max 1000
#define intf 999
#define max 20
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define Status int
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
//……………………标志矩阵定义……………………
int visited[max];//访问标记
int parent[max];
int indegree[max];//入度
int outdegree[max];//初度
int ve[max];
int final[max];
int we;
//………… 邻接矩阵定义………………………
typedef struct ArcCell
{
int adj; //权值
char *info; //相关信息
}ArcCell,AdjMatrix[20][20];
typedef struct
{
char vexs[20]; //顶点向量
AdjMatrix arcs; //邻接矩阵
int vexnum,arcnum; //图当前顶点数和弧数
}MGraph_L;
//……………邻接链表表示……………………
typedef struct ArcNode //弧结点
{
int adjvex; //该弧所指向的顶点的位置
struct ArcNode *nextarc; //指向下一条弧的指针
int *info; //该弧相关信息的指针
}ArcNode;
typedef struct vnode //邻接链表顶点头接点
{
char data; //顶点信息
ArcNode *firstarc; //指向第一条依附该顶点的弧的指针
}vnode,adjlist;
typedef struct //图的定义
{
adjlist vertices[max];
int vexnum,arcnum; //图的当前顶点数和弧数
}ALGraph;
//…………………………队列定义……………………
typedef struct Qnode
{
int data; //队列数据
struct Q
您可能关注的文档
- 康复之肌肉起止点.doc
- 建筑制图习题.doc
- 建筑工程成品保护措施.doc
- 建筑施工扬尘污染防治方案11.doc
- 建筑构造上册复习题.doc
- 建筑构造考试试题含答案.doc
- 建筑节能工程现场检测项目.doc
- 彻底解决XP网上邻居共享.doc
- 张幕衡--兴安盟中小型水利工程技术探索.doc
- 微小位移的电测法.doc
- 国开景区管理作业2试题及答案.pdf
- 国开景区管理作业1-4试题及答案.pdf
- 河南开放大学本科《地域文化(本)》作业练习1-3试题及答案.pdf
- 2024年大型游乐设施操作证考试题库及答案很全.pdf
- 2024年门座式起重机司机考试题库及答案.pdf
- 2022-2023学年河北省衡水市武强中学高二(下)期末数学试卷【答案版】.docx
- 2022-2023学年河北省保定市崇德实验中学高二(下)期末数学试卷【答案版】.docx
- 江西省2017年中小学教师招聘考试高中化学试卷及答案.docx
- 2024年河北省八年级中考生物真题(解析版).docx
- 2024年南阳市社会保险中心(唐河县企业养老保险分中心)(参公)一级科员招录1人《行政职业能力测验》高频考点、难点(答案详解版).docx
文档评论(0)