【问题标题】:Height of every possible tree in a connected, undirected acyclic graph连通无向无环图中每棵可能树的高度
【发布时间】:2014-09-02 16:36:22
【问题描述】:

给定一个有 N 个节点的连通无向无环图,如何在线性时间内找到跨越图中所有节点的每棵树的高度?

【问题讨论】:

    标签: algorithm graph tree


    【解决方案1】:

    改写:给定一棵无根树 T,对于 T 的每个顶点 v,计算有根树 T(v) 的高度,该有根树 T(v) 是通过在 v 处生根 T 导出的。

    首先为 T 选择一个任意根 r,得到 T(r)。从叶到根扫描 T(r),为每个顶点 v 存储以 v 为根的 T(r) 的子树的高度。从根到叶扫描 T(r),计算,对于每个顶点 v,从 v 开始的 T 中最长路径的长度,它不访问 v 的正确后代(相对于 T(r))。第二步稍微复杂一些。您需要计算 v 及其兄弟的最大高度和次大高度,这些高度可以用于 v 的兄弟姐妹。 T(v) 的高度是它的两个标签中的最大值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-02
      • 1970-01-01
      相关资源
      最近更新 更多