我目前正在编写一个控件(在C#中),用于显示一组表以及它们之间存在的关系。我完成了基本控制,但希望实现类似于SQL Express的图表组件提供的“自动排列”功能。
它采用什么样的算法来确定表格的最佳布局?也就是说,这是一种算法,它考虑了所有的“关系路径”,并提出了一种布局,在这种布局中可以安排表格而不会造成太多混乱。
答案 0 :(得分:4)
查看Graphviz。即使您不能将其用作依赖项,它也有大量关于所用算法的文档。
答案 1 :(得分:2)
查看graph layout algorithms,特别是“正交布局”。根据维基百科,这是一个“布局,边缘水平或垂直运行,方法可以减少边缘交叉和覆盖区域的数量。”