算法程序设计实验报告.pdfVIP

  • 16
  • 0
  • 约2.74万字
  • 约 27页
  • 2020-09-13 发布于天津
  • 举报
. 《程序设计》课程设计 姓 名:王 学 号: 班 级:软件工程 00 班 指导教师: 王会青 成 绩: 2010 年 6 月 . . 实验一 .构造可以使 n 个城市连接的最小生成树 专业: __软件工程 ___ 班级: __软件 姓名: _王___ 学号: 完成日期: _2010/6/26________ 一、【问题描述】 给定一个地区的 n 个城市间的距离网,用 Prim 算法或 Kruskal 算法 建立最小生成树,并计算得到的最小生成树的代价 。 1 城市间的道路网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个 城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。 2 显示出城市间道路网的邻接矩阵。 3 最小生成树中包括的边及其权值,并显示得到的最小生成树的总代价。 4 输入城市数、道路数→输入城市名→输入道路信息→执行 Kruskal 算法→执行 Prim 算法→输 出最小生成树 二、【问题分析】 1.抽象数据类型结构体数组的定义 : #ifnd ef ADJACENCYMATRIXED// 防止该头文件被重复引用 #define ADJACENCYMATRIXED // 而引起的数据重复定义 #define INFINITY 32767 // 最大值 ∞ #define MAX_VERTEX_NUM 20 // 最大顶点个数 typedef int VRType; // 权值,即边的值 typedef char InfoType; // 附加信息的类型,后面使用时会定义成一个指针 typedef char VertexType[MAX_VERTEX_NUM]; // 顶点类型 typedef enum {DG=1, DN, UDG, UDN} GraphKind; //{ 有向图,有向网,无向图,无向网 } typedef struct ArcCell { VRType adj; //VRType 是顶点关系类型。 对无权图, 用 1 或 0 表示相邻否; 对带权图, 则为权值类型。 InfoType*info; // 该弧关系信息的指针 . . }ArcCell, AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; typedef struct { VertexType vexs[MAX_VERTEX_NUM]; // 顶点向量 AdjMatrixarcs; // 邻接矩阵 int vexnum, arcnum; // 图的当前顶点数和弧数 GraphKin

文档评论(0)

1亿VIP精品文档

相关文档