如何将节点平均分成几组,使各组之间的边数最少?

时间:2018-07-26 11:14:15

标签: algorithm optimization grouping

我有几个节点(例如6个应用程序服务器)和边缘(例如这些应用程序服务器之间的10个直接信息流)。对于vizualization编程,我想以编程方式将节点有效地分成2组,其中偶数个节点数相等,以便这些组之间的边缘数尽可能少。每当我运行该vizualization例程时,实际的节点和边缘可能会有所不同。

一个例子...

应用服务器

a
b
c
d
e
f

InfoFlows

a->b
b->a
b->c
c->b
c->a
a->c
a->d
d->e
d->f
f->d

可能的解决方案是:

第1组

a
b
c
a->b
b->a
b->c
c->b
c->a
a->c

第2组

d
e
f
d->e
d->f
f->d
这些组之间的

链接:

a->d

很明显,我可以建立所有可能的组组合,然后进行计数和比较。但是,在我有很多节点的情况下,这会花费很多时间。因此,我正在寻找一种性能更好且可靠的更聪明的解决方案(可以说从像成熟这样的泡沫排序跃升为快速排序类)。编码本身没有问题-问题更多是关于基本概念/算法。

0 个答案:

没有答案