收藏 分享(赏)

算法设计与分析第8讲 贪心方法-MST.ppt

上传人:jinchen 文档编号:12228765 上传时间:2021-12-04 格式:PPT 页数:10 大小:256.50KB
下载 相关 举报
算法设计与分析第8讲 贪心方法-MST.ppt_第1页
第1页 / 共10页
算法设计与分析第8讲 贪心方法-MST.ppt_第2页
第2页 / 共10页
算法设计与分析第8讲 贪心方法-MST.ppt_第3页
第3页 / 共10页
算法设计与分析第8讲 贪心方法-MST.ppt_第4页
第4页 / 共10页
算法设计与分析第8讲 贪心方法-MST.ppt_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、1 贪心方法 2 最小生成树问题 有向图G V E V是顶点集合 E是有向边集合 E O V2 lg E lgV 图的表示1 邻接矩阵表示 G V E V 1 2 n 如果边 i j E A i j 1 否则A i j 0 空间存储 V2 格式是稀疏的 如果图是链表或者树 2 1 3 4 3 2链接表表示方法Adj 1 2 3 Adj 2 3 Adj 3 Adj 4 3 Adj v 度 无向图 出度 有向图 空间占用 V 2E 4 最小生成树 MST Input 无向带权连通图 G V E w E R 假设所有的权值不同 Output 一生成树T 连接所有的顶点 具有最小的权值和W T u v

2、 TW u v 6 12 5 15 9 7 10 8 14 3 5 最优子结构特点 假设上图是一棵最小生成树T 删除一条边e 则成为两课树 T1 T2 而每一棵都是一个最小生产子树 否则 假设T1 是一个比T1更小的生成树 则 T1 e T2 是比T更小的生成树 故最优子结构特点成立 T1 T2 e 6 重叠子结构特点 按最优子结构性质 可把节点集合V分成任意两个子集 v1 V v1 v2 V v2 然后分别求最优生成树 T1 T1 T2 T2 再分别合并成t1 t2 T应该是其中最小的一棵 在求T1最小生成树时 会继续打断 生成T11 T12 T2打断时 会生成T21 T22 但T21 T1

3、1是可能的 故重叠子结构成立 t1 t2 e 7 贪心方法 既有最优子结构 又有重叠子结构 可以用动态规划 但本讲使用更强大的方法 贪心法贪心方法的标志 贪心选择特性 某个局部最优选择 是全局最优的 定理 T是G V E 的最小生成树 令A是V的子集 假如 u v E是连结A和V A的最小边 则 u v T 8 上图是最小生成树 其中红点集合为A 兰点集合为V A 假设 u v 边权值是目前权最小连结A和V A的边却不在生成树中 通过MST 找到一条u到v的路径 找到碰到的第一个连结A和V A的边 打断它 把 u v 加入 还是一个生成树 因为 u v 更短 故新的树权和更小 从而原树为MST矛盾 u v 9 MST的prim算法 思路 令V A为一优先队列Q 每个Q的元素记录优先值的key为到A的最小权值Q V key V key s 0 s任意WhileQ NULLu Extract min Q foreachv Adj u ifv Q w u v Key v thenkey v w u v v u最后 所有的 v v 构成最小生成树的边 10 prim算法时间复杂性 Time V Vtextract Etdeckey Q用不同的结构 时间有所区别textracttdeckeyTime数组 v 1 V2 最小堆 lgv lgv Elgv Fib堆 lgv 1 E Vlgv

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报