什么是最小化N个项目之间的D距离的算法?

时间:2010-04-14 04:27:05

标签: algorithm distance graph-layout

一个同学打印出一个类的数据库图表,这个类的行用于表示表之间的关系。然而,他的线条遍布整个地方,看起来很丑陋。

所以我开始考虑一种移动表格以最小化总线距离的方法,除了将它们全部移到彼此之外之外,我想不出办法做到这一点。所以基本上:给定某些2d坐标空间上的N个项目以及这些项目对之间的一些连接数量,如何移动项目以使得对之间的总距离最小,但是没有距离小于S? (这样表格就不会太靠近了)是否有一些算法呢?

(我意识到最小的总距离不一定会使布局变得不那么难看;线条可能仍会交叉。但桌面布局正是让我思考的原因)

1 个答案:

答案 0 :(得分:3)

一些提示:

http://en.wikipedia.org/wiki/Graph_drawing

http://en.wikipedia.org/wiki/Force-based_algorithms

数据库架构图是图形的一种情况(或者可能是树,具体取决于您的架构)。

干杯