我有一个几乎是树的有向无环图的集合,在以下意义上:每个图都有一个root,并且顶点被组织成级别,如果v 1和v 2是顶点,那么如果v 1的级别是小于v 2的水平,则图中没有从v 2到v 1的边,尽管从v 1可能有很多边到相同或更高级别的顶点。例如,表达式树、函数调用图或线性类层次结构都是此类图的示例。以下是此类图表的示例:
A1
/ \ A1 -> A4, A3
/ \ A3 -> A2, A6, A7
A4 A2--A3 A2 -> A6
| \ / \
A6 \_ A7
有大量的绘图算法,我无法确定哪种算法最适合这种情况。一些初步研究表明,绘制 Hasse 图的算法可能是合适的,但似乎此类算法的输出并不适合我试图建模的数据结构类型。还有几种用于对分层数据进行建模的算法,但我不确定哪种算法会在易于实现和效率之间取得平衡。前一种方法的一个问题是这些图既有根又有方向。如果可能,该算法将支持循环图,并最大限度地减少数值计算的数量,但这不是必需的。由于这些原因,我宁愿避免使用力导向算法,如果可能的话,点。