最小生成树扩展.pptVIP

  • 2
  • 0
  • 约6.02千字
  • 约 39页
  • 2019-01-06 发布于广东
  • 举报
最小生成树扩展

动态规划 设最小p度限制生成树为T , T是无根树,为了简便,我们把v0作为该树的根。 定义Father(v)为T中v的父结点,Father(v0)无意义。 设Best(v)为路径v0-v上与v0无关联且权值最大的边。 动态规划 Best(v)的状态转移方程为 Best(v)=max(Best(Father(v)),ω(Father(v),v)) 边界条件为 Best[v0]=-∞,{Best[v’]=-∞|(v0,v’)∈E(T)}。 动态规划 状态总共|V|个,而状态转移的时间复杂度为O(1),因而总的时间复杂度是O(V),即通过最小p度限制生成树求最小p+1度限制生成树的时间复杂度是O(V)。 具体实现:从V0开始做一遍广搜即可。 问题:最先求几度的最小度限制生成树呢?即p从多少开始求? 答 案 因为求最小k度限制生成树,当 k DG(v0) 时,问题并不总是有解的。如图。 所以如果将v0去掉,图会被分成m个连通支,那么就先求最小m度限制生成树。 V0 如何求最小m度限制生成树 1)我们可以先删去v0,对各个连通分量求最小生成树。 具体实现:枚举每个顶点作为起点执行Prim算法,执行的过程中对同一连通支的顶点用相同数字标记。 2)再在每个连通分量中找最小边和v0相连。 3)得到最小m度限制生成树。 求最小m度生成树:O(VlogV+E);

文档评论(0)

1亿VIP精品文档

相关文档