- 135
- 0
- 约1千字
- 约 1页
- 2022-04-29 发布于海南
- 举报
2022年-2023年最新
《数据结构》课程实验报告
(实验 5——图的存储方式和应用)
学生姓名班 级实验名称
实验目的:
学 号
指导老师实验成绩
实验报告
根据图中顶点和边的信息编制程序建立图的邻接矩阵。
实
验 实验要求:
概 (1)程序要有一定的通用性。
述 (2)直接根据图中每个结点与其他结点的关联情况输入相关信息,程序能自动形成邻接矩阵。
实验基本原理:
为保证程序的通用性,适合各种图,在建立图的邻接矩阵算法中增加两个参数k1 和 k2。k1 为 0 表示无向图,否则为有向图;k2 为 0 表示边上无权,否则为边上有权。
初始化邻接矩阵时,对角线元素设置为0。若图的边上有权,则其他元素值设为∞;若边上无权,则设为 0。
程序代码:
/*实验 4.1 建立图的邻接矩阵*/
实 #include stdio.h
验 #define MaxVertexNum 8 /*定义图的最大顶点数*/
内 #define MaxEdgeNum 20 /*定义图的最大边数*/
容 #define MaxValue 1000 /*定义相当于∞的常量值*/
typedef int VertexType; /*定义顶点数据类型 VertexType 为整型*/
typedef VertexType vexlist[MaxVertexNum];/*定义vexlist 为存储顶点信息的数组类型
*/
typedef int adjmatrix[MaxVertexNum][MaxVertexNum];/* 定义adjmatrix 为存储邻接矩
阵的数组类型*/
void CreateMatrix(vexlist GV,adjmatrix GA,int n,int e,int k1,int k2); /*建立图的邻接矩阵*/
void ShowMatrix(vexlist GV,adjmatrix GA,int n); /* 输出图的邻接矩阵*/ void main()
{
int n,e,k1,k2;
vexlist gv; /*定义保存顶点信息的数组*/ adjmatrix ga; /*定义保存邻接矩阵的数组*/
/*输入一个图的顶点数和边数*/
printf(输入待处理图的顶点数和边数:); scanf(%d%d,n,e);
/*输入有无向选择和有无权选择*/
您可能关注的文档
最近下载
- 基于MQTT协议的通用智能家居系统设计与实现-计算机技术专业论文.docx VIP
- 高中数学 第二章 平面向量 2.3.2 平面向量的坐标运算1课件 苏教版4.ppt VIP
- 人工智能安全风险测评白皮书(2025年).docx
- Staubli机器人CS8C 控制器.pdf VIP
- 电影教父1剧本中英文对照版.docx VIP
- 2024年广东省中学生生物联赛试题及答案解析.pdf VIP
- 基于PLC的高层住宅小区自动供水系统设计.pdf
- 《混凝土枕》(TB∕T 2190-2013).pdf VIP
- 统编版语文三年级上册第四单元习作:我来编童话课件.pptx VIP
- 2026年南方电网招聘考试(法律类)经典试题及答案.docx VIP
原创力文档

文档评论(0)