5

我想知道是否有图形的最小交叉布局算法(不是基于力的)的任何示例,因此我可以将其调整为 d3.js。

4

1 回答 1

8

计算最小化边交叉的图的布局是 NP 难的,因此没有单一的算法;有不同的算法有不同的权衡。基于力的布局 ( Fruchterman–Reingold ) 是一种方法,分层 ( Sugiyama ) 是另一种方法。还有针对特定类型图的布局,例如树 ( Reingold-Tilford ) 和小世界 ( van Ham-van Wijk )。诸如 Dig-CoLa ( Dwyer–Koren ) 之类的约束布局是另一类算法。

如果您想要一种专门寻求最小化边缘交叉数量的算法,您可以使用模拟退火。虽然这最终会找到正确的答案,但它可能会很慢。

于 2012-05-29T19:51:05.930 回答