algorithm - 图论 : Splitting a Graph

标签 algorithm graph graph-theory

我有这个问题。我有一个 n 个节点的图,我想将其分成 x 个节点和 n-x 个节点的两个子图,但要遵守剩余边数最大化(或最小化被切割的边数)的约束。

不确定这是否有意义。不是图论专家,但这是我的问题的抽象版本。我应该研究哪些算法可能对我有帮助?

这不是作业问题。我认为这是个有趣的问题!

我计划在 C 中实现。

最佳答案

x = n - x 的特殊情况称为最小二分问题并且是 NP-hard。这也使您的问题成为 NP-hard。维基百科关于 graph partitioning 的文章中描述了几种启发式方法。 ,包括局部搜索(例如,从随机切割开始并重复交换减少切割大小的顶点对)和谱方法(例如,计算和阈值第二个特征向量)。如果 n 很小,整数规划也是可能的。

关于algorithm - 图论 : Splitting a Graph,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10185773/

相关文章:

python - 如何找到具有最少步数的元素

algorithm - 找到一个完美的匹配或证明这是不可能的

r - LFR 基准与随机 block 模型

c++ - SPOJ 问题 KPRIMES2

java - 具有嵌套 for 循环的递归算法的大 O 时间复杂度

c++ - 内存有效的方式来代表最短路径?

algorithm - 如何在图中找到强连通分量?

algorithm - 图的 O(m+n) 时间算法

algorithm - 查找未排序数组的中位数

algorithm - 找出要确保猴子被击中的最少射击次数?