数据结构普里姆算法 求最小生成树普里姆算法问题

我在用这个代码输出最小生成树普里姆算法时数据的权值为整型时就没有问题,但是如果权值为浮点数时就有问题不知道怎么修改。。


40 /////二维数组的创建并初始化 92 // 图采用鄰接矩阵存储 最小生成树普里姆算法 普里姆算法 99 //lowcost的值为0在这里就是此下标的顶点已经加入生成树 110 min = INFINITY; // 初始化最小权值为常数,通常设置为不鈳能到达的数值 115 // 如果两个顶点之间存在边有权值不为0并且小于min 128 { // 若下标为k顶点各边权值小于此前这些顶点未被加入生成树权值

调试过程 22 4.2 程序执行过程 22 参考文献 28 附 录 28 1 课程设计介绍 1.1 课程设计内容 编写算法能够建立带权图并能够用Prim算法求该图的最小生成树普里姆算法。最小生成树普里姆算法能够选擇图上的任意一点做根结点最小生成树普里姆算法输出采用顶点集合和边的集合的形式。 1.2 课程设计要求 可以输入顶点、边数及各路径的權值; 通过建立无向图或有向图能过输出邻接矩阵或邻接表; 可以输出建立的最小生成树普里姆算法; 画出流程图且函数有必要说明、紸释; 课设完成后上交报告及核心代码。 2 课程设计原理 2.1 课设题目粗略分析 根据课设题目要求拟将整体程序分为两大模块。以下是两个模塊的大体分析: 创建网图并确定网图的存储形式通过对题目要求的具体分析。发现该题的主要操作是路径的输出因此采用邻接表和邻接矩阵(起点、终点和权值)两种存储结构,方便以后的编程 2.Prim算法。设置两个新的集合U和T其中U用于存放带权图G的最小生成树普里姆算法的结点的集合,T用于存放带权图G的最小生成树普里姆算法边的权值的集合其思想是:令集合U的初值为U{u0}(即假设构造最小生成树普里姆算法时从结点u0开始),集合T?的初值为T={}从所有结点u属于U和结点v属于V但不属于U的带权边中选出具有最小权值的边(u,v)将结点v加入集合U中,将边(uv)加入集合T中。如此不断重复当U=V时,最小生成树普里姆算法便构造完毕

参考资料

 

随机推荐