《离散数学》实验报告
合肥工业大学
计算机与信息系
姓
学
班
名 :
号 :
级 :
实 验 地 点 :
计 算 机 中 心 楼
实 验 时 间 :
10.18 —10.20
《离散数学》实验报告
1 实验目的和要求
运用最小生成树思想和求最小生成树程序解决“油管铺设”的实际问题:
八口海上油井相互间距离如表,其中 1 号井离海岸最近,为 5km。问从海岸经 1
号井铺设油管把各井连接起来,怎样连油管长度最短(为便于检修,油管只准在
油井处分叉)?
2 实验环境和工具
Windows10
Code::blocks
3 实验结果
3.1 算法流程图
结束
在屏幕上打印运行
结果
dispMat(g);
prim(g,0);
N
表 中 数 据 赋 值 给
A[MAXV][10]
int i,j;
MGraph g;
float
A[MAXV][10];
g.vexnum;
i=0;
j=0;
g.vexnum=8;
A[i][j]=INF;
Y
N
J
#include
using namespace std;
#define MAXV 10
#define INF 32767
//INF 表示∞
《离散数学》实验报告
typedef int InfoType;
typedef struct{
int no;
InfoType info;
} VertexType;
typedef struct{
float edges[MAXV][MAXV];
int vexnum;
VertexType vexs[MAXV];
} MGraph;
//顶点编号
//顶点其他信息
//顶点类型
//图的定义
//邻接矩阵
//顶点数
//存放顶点信息
//图的邻接矩阵类型
/*输出邻接矩阵 g*/
void DispMat(MGraph g){
int i,j;
for (i=0;i
《离散数学》实验报告
}
cout<<"连接油井<"<
"<<" 长度
为:"<《离散数学》实验报告
cout<
《离散数学》实验报告
的,让我知道了离散数学的学习更多的是提高抽象思维和逻辑推理能力,可
对于我们未来的创造性研究和开发打下坚实基础。刚开始完成这个实验有着
很大的困难不知道如何下手,参考了书上的思想开始写代码,其油管铺设问
题即在于运用最小生成树思想和求最小生成数程序解决问题,总体来说通过
这次实验也让我更加了解求最小生成树的 Prim 算法的核心思想和具体体现,
受益匪浅。