【问题标题】:how to partition a tree into two subtrees如何将一棵树划分为两个子树
【发布时间】:2012-02-08 08:51:21
【问题描述】:

我有一个对称的二维数组“myMSTdata[][]”,它表示一个最小生成树 MST,如果没有表示边缘权重的边或实数值,则其值为 0,现在我需要对此进行分区树分成两个子树(part1,part2),其中切割标准是具有最大权重的边缘。然后不断地对较大尺寸的子树(即节点数较多的子树)进行分区,直到较大尺寸子树中剩余的节点数为K为止。

【问题讨论】:

    标签: c++ visual-c++ tree graph-theory minimum-spanning-tree


    【解决方案1】:

    建议对这种操作使用邻接表,因为

    1. 需要反复分离顶点
    2. 边数
    3. 大运行时间优势。

    我可以知道您正在查看的复杂性吗?

    如果您对任何复杂性感到满意,我建议您重复 DFS,因为您正在使用树,重复 DFS 将覆盖所有边和顶点。在最坏的情况下,运行时间约为 O(n^2)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 2018-01-04
      • 1970-01-01
      • 2013-12-03
      • 1970-01-01
      相关资源
      最近更新 更多