求解最小生成树算法实现

时间:2014-12-12 13:40:12
【文件属性】:

文件名称:求解最小生成树算法实现

文件大小:7KB

文件格式:CPP

更新时间:2014-12-12 13:40:12

求解最小生成树算法实现

一个连通图的生成树是一个极小连通子图,它含有图中全部顶点,但只有足以构成一棵树的n-1条边。 当用联通网来表示n个城市以及n个城市间可能设置的通信线路,其中网的顶点表示城市,边表示两城市之间的线路,赋于边的权值表示相应的代价。对于n个顶点的联通网可以建立许多不同的生成树,每一棵生成树都可以是一个联通网。 而一棵最小生成树就是,树上各边的权值之和最小,即寻找最小生成树就是构造联通网的最小代价生成树。 普利姆(Prim)算法 指定一个起点,且假定这点是已选顶点,然后反复在满足如下条件的边中选择一条最小边,直到所有顶点成为已选顶点为止(选择n-1条边):一端已选,另一端未选。 克鲁斯卡尔(Kruskal)算法 反复在满足如下条件的边中选出一条最小的、且和已选边不构成回路边,直到全部顶点均被选中。 基本要求: (1)编程创建一幅图。 (2)输出创建的图。 (3)编写Prim算法代码,实现图的最小生成树求解,且输出最小生成树。 扩展要求: (1)编写Kruskal算法代码,实现图的最小生成树求解,且输出最小生成树。


网友评论

  • 很不错,跟老师要求得一样,就是输入的时候怎么输入最好表面一下
  • 还可以,用起来不错的
  • 感谢发布者,让我最终完成了课程设计!