算法合集之《维护森林连通性-动态树》.ppt
《算法合集之《维护森林连通性-动态树》.ppt》由会员分享,可在线阅读,更多相关《算法合集之《维护森林连通性-动态树》.ppt(19页珍藏版)》请在三一办公上搜索。
1、维护森林连通性动态树,华东师大二附中 陈首元,动态树,维护一个森林支持边的插入与删除支持树的合并与分离支持寻找路径上费用最小的边所有操作的均摊复杂度为O(logN),2,3,4,5,6,7,8,1,10,20,-20,0,30,-5,-5,Root(1,2,3,4,5,6,7,8)=1MinCost(6)=10,Update(7,10),5,40,Evert(6),新树根,Cut(4),Root(7,8)=4,Link(3,4,10),动态树的基本操作,Root(v)返回包含节点v的树的根MinCost(v)返回v到根路径上费用最小的边Update(v,x)使v到树根路径上的边的费用+x Li
2、nk(v,w,x)将以v为根的树连接到节点root(w)上,(v,w)的费用为x Cut(v)删除v与其父节点连接的边Evert(v)使v成为新的根,并将v到原树根上的边反向,操作的实现,将树中的边分为实边、虚边两种,每个节点最多向其子节点连出一条实边将树划分为一些完全由实边组成的路径,只对这些路径进行操作,一条路径,头,尾,路径的基本操作,Path(v):返回包含v的路径(每个路径有一个标志)Head(p),Tail(p):返回首节点、尾节点Pmincost(p):返回p中费用最小的边Pupdate(p,x:real):将p中每条边的费用+xReverse(p):将p中的每条边反向Conca
3、tenate(p,q,x):添加边(tail(p),head(q))费用为x,将路径p,q合并 Split(v):将v从路径中删除并把路径分为两部分,Splice,Splice(p):将路径p向更靠近根的方向增长实现方法:把虚边(tail(P),Parent(p)变为实边,为了维护实边的性质,将原来从Parent(P)中连出的边设为虚边,Expose,Expose(v):将从v到树根路径上的所有边设为实边 实现方法:不断调用splice直到根为止,有了Expose(v),就可以实现所有动态树操作了,Link操作,Procedure Link(v,w:vertex;x:real);Begin C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 维护森林连通性-动态树 算法 维护 森林 连通性 动态

链接地址:https://www.31ppt.com/p-6329379.html