最小生成树手动模拟
来源:互联网 发布:unity3d中文版下载 编辑:程序博客网 时间:2024/06/06 07:31
方便以后查阅,现在把考研中关于图的应用这章的几个算法,手动模拟出来,图的主要应用包括,最小生成树,最短路径,拓补排序和关键路径。
1.最小生成树
- 最小生成树并不是唯一的,各边权值互不相等时,最小生成树唯一,若无向连通图的边比顶点数少1,即G本身就是一棵树时,G的最小生成树就是它本身。
- 最小生成树的边的权值之和总是唯一的。
- 最小生成树的边数十顶点数减1。
prim算法和Kruskal算法,都是基于贪心算法的策略。
1.1Prim算法
用来求加权连通图的最小生成树的算法,执行和最短路径的Dijkstra算法很相似。
对于图G而言,V是所有顶点的集合;现在,设置两个新的集合U和T,其中U用于存放G的最小生成树中的顶点,T存放G的最小生成树中的边。 从所有uЄU,vЄ(V-U) (V-U表示出去U的所有顶点)的边中选取权值最小的边(u, v),将顶点v加入集合U中,将边(u, v)加入集合T中,如此不断重复,直到U=V为止,最小生成树构造完毕,这时集合T中包含了最小生成树中的所有边。
具体模拟过程如下图,以下图G为例手动模拟过程。
此时,最小生成树完成,顶点依次是A,B,F,E,D,C,G。
1.2Kruskal算法
按照权值从小到大的顺序选择n-1条边,并保证这n-1条边不构成回路。此算法适合边稀疏而顶点较多的图。
具体模拟过程如下图,还是以图G为例手动模拟过程。
此时,最小生成树完成,边依次是< E,F >,< C,D >,< E,D >,< B,F >,< A,B >,< A,G >,< A,G >.
- 最小生成树手动模拟
- [校内模拟]最小生成树(Tarjan)
- [NOIP模拟][最小生成树]Roads
- NOIP模拟 图【最小生成树】
- BJ模拟 Cut (最小割树+最小生成树)
- 【图-最小生成树】NOIP2010 模拟试题 新的开始
- NOIP 模拟题 friendly [最小生成树] [ST在线] [hash]
- 【NOIP 模拟题】最小生成树(Tarjan求桥)
- NOIP2017 7.17模拟 Minimum (最短路+最小生成树)
- 10.3 NOIP模拟赛 DP + 最小生成树 + 容斥
- NOIP2017模拟 玩游戏 最小生成树 树上倍增
- ZOJ 【2108】Agri-Net(最小生成树)模拟生成树&普利姆算法
- 最小比例 最小生成树
- 最小生成树&&次最小生成树
- 最小生成生成树计数
- jzoj 5060. 【GDOI2017第二轮模拟day1】公路建设 线段树+最小生成树
- 【GDOI2017第二轮模拟day1】公路建设(克鲁斯卡尔最小生成树+线段树+归并)
- 树+最小生成树
- HDU 1724 Ellipse (自适应辛普森积分)
- MySQL的下载、安装、配置
- centos7 firewall 防火墙 命令
- 一起学android之如何获取手机程序列表以及程序相关信息并启动指定程序 (26)
- 二叉搜索树(BST树)
- 最小生成树手动模拟
- 萌新的linux之旅15
- ThinkPHP5 路由绑定
- mysql型锁机制总结
- 在多声卡的情况下使用修改注册表的方法设置默认声卡
- 如何关闭eclipse对js xml的验证?
- 【Leetcode】【python】Unique Binary Search Trees II
- 枚举声卡
- 不止于在栈上或堆上创建对象