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

Algorithm 什么是最小化N个项目之间某些D距离的算法?,algorithm,distance,graph-layout,Algorithm,Distance,Graph Layout,一位同学为班级打印了一张数据库图表,这种图表用线条表示表格之间的关系。然而,他的线交叉了所有的地方,它看起来很丑 所以我想了一种方法来移动桌子,以最小化总的线距离,我想不出一种方法来做到这一点,除了把它们放在彼此的上面。基本上:给定二维坐标空间上的N个项目,以及这些项目对之间的一些连接,如何移动这些项目,使对之间的总距离最小,但没有任何距离小于S?(这样表格就不会靠得太近)有什么算法吗 (我意识到最小的总距离不一定会使布局不那么难看;线条可能仍然交叉。但表格布局正是让我思考的原因)一些提示:

一位同学为班级打印了一张数据库图表,这种图表用线条表示表格之间的关系。然而,他的线交叉了所有的地方,它看起来很丑

所以我想了一种方法来移动桌子,以最小化总的线距离,我想不出一种方法来做到这一点,除了把它们放在彼此的上面。基本上:给定二维坐标空间上的N个项目,以及这些项目对之间的一些连接,如何移动这些项目,使对之间的总距离最小,但没有任何距离小于S?(这样表格就不会靠得太近)有什么算法吗

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

一些提示:

数据库模式图是图形的一种(也可以是树,具体取决于您的模式)

干杯

树是(特定类型的)图形。