有许多工具和 SDK 可以布局图表。 ogdf、GraphViz、mxGraph、yEd...
有用的布局之一是“分层布局”。但没有纯粹的算法或伪代码来描述它。甚至,这种类型的布局还没有明确的定义。有人了解算法吗?
(source: yworks.com http://docs.yworks.com/yfiles/doc/developers-guide/figures/hier-style-explanation-thumb.png)
简单的层次布局算法是ASAP调度算法的可视化(查看这个讲座 [link] http://cas.ee.ic.ac.uk/people/gac1/Synthesis/Lecture9.pdf),所以我认为最好阅读它。
顺便说一句,您的图片并不完全正确 - 建议的可视化只是可能的可视化之一。
想象一下,您有节点列表并且您知道它们之间的依赖关系。
节点列表
node4
node2
node5
node1
node3
node6
依赖列表
node1 -> node2
node2 -> node4
node3 -> node5
node1 -> node3
node3 -> node6
这仅适用于非循环有向图。对于无向的,你应该稍微修改一下算法(以随机节点为根),但我认为主要思想是可以理解的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)