我需要一个起点来在c中实现算法,以在输入中生成图的tre分解。我正在寻找的是执行此操作的算法。我想要一个算法的伪代码,我不在乎编程语言,也不在乎复杂性
网络上有很多理论,但实际上没有。我试图了解如何执行可以在c中实现的算法。但这很难
我尝试使用以下信息:
以及许多其他信息材料。但是此链接没有用。
有人可以帮助我吗?
答案 0 :(得分:0)
因此,这是在树中查找节点的算法。
选择任意节点v
从v启动DFS,并设置子树大小
重新定位到节点v(或从属于树的任意v开始)
检查质心的v的数学条件
如果条件通过,则将当前节点返回为质心
否则,移动到具有“最大”子树大小的相邻节点,然后返回到步骤4
以及树分解算法
将质心作为新树的根(我们将其称为“质心树”)
递归分解结果林中的树木
将这些树的质心作为最后分裂它们的质心的子代。
这是示例代码。
https://www.geeksforgeeks.org/centroid-decomposition-of-tree/amp/