我想知道是否有任何图形的最小交点布局算法(不是基于力的)示例,因此我可以将其适应 d3.js。
最佳答案
计算最小化边交叉的图形布局是 NP-hard,因此没有单一的算法;有不同的算法具有不同的权衡。基于力的布局(Fruchterman–Reingold)是一种方法,分层(Sugiyama)是另一种方法。还有针对特定类型图形的布局,例如树 (Reingold–Tilford) 和小世界 (van Ham–van Wijk)。诸如 Dig-CoLa ( Dwyer–Koren ) 之类的约束布局是另一类算法。
如果您想要一种专门寻求最小化边缘交叉数的算法,您可以使用 simulated annealing .虽然这最终会找到正确的答案,但速度可能会很慢。
关于javascript - 最小交叉点布局算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10802443/