登录 注册
当前位置:主页 > 资源下载 > 16 > 实现最小生成树算法的求解

实现最小生成树算法的求解

  • 更新:2024-07-01 18:09:02
  • 大小:7KB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:C/C++ - 课程资源
  • 格式:CPP

资源介绍

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