图的树分解

时间:2018-12-22 17:59:27

标签: c algorithm graph

我需要一个起点来在c中实现算法,以在输入中生成图的tre分解。我正在寻找的是执行此操作的算法。我想要一个算法的伪代码,我不在乎编程语言,也不在乎复杂性

网络上有很多理论,但实际上没有。我试图了解如何执行可以在c中实现的算法。但这很难

我尝试使用以下信息:

以及许多其他信息材料。但是此链接没有用。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

因此,这是在树中查找节点的算法。

  1. 选择任意节点v

  2. 从v启动DFS,并设置子树大小

  3. 重新定位到节点v(或从属于树的任意v开始)

  4. 检查质心的v的数学条件

  5. 如果条件通过,则将当前节点返回为质心

  6. 否则,移动到具有“最大”子树大小的相邻节点,然后返回到步骤4

以及树分解算法

  1. 将质心作为新树的根(我们将其称为“质心树”)

  2. 递归分解结果林中的树木

  3. 将这些树的质心作为最后分裂它们的质心的子代。

这是示例代码。

https://www.geeksforgeeks.org/centroid-decomposition-of-tree/amp/