自动排列实体关系图的算法

时间:2009-08-13 07:01:04

标签: algorithm graph diagramming

我目前正在编写一个控件(在C#中),用于显示一组表以及它们之间存在的关系。我完成了基本控制,但希望实现类似于SQL Express的图表组件提供的“自动排列”功能。

它采用什么样的算法来确定表格的最佳布局?也就是说,这是一种算法,它考虑了所有的“关系路径”,并提出了一种布局,在这种布局中可以安排表格而不会造成太多混乱。

2 个答案:

答案 0 :(得分:4)

查看Graphviz。即使您不能将其用作依赖项,它也有大量关于所用算法的文档。

答案 1 :(得分:2)

查看graph layout algorithms,特别是“正交布局”。根据维基百科,这是一个“布局,边缘水平或垂直运行,方法可以减少边缘交叉和覆盖区域的数量。”