如何绘制带有任意数量孩子的树?

问题描述 投票:1回答:1

我正在努力提出一种算法,该算法使我能够绘制像树一样的数据结构,其中每个节点可以有0..n个孩子。对我来说,问题是,我不知道我必须将节点放置多远才能使子代不会重叠。

在此示例中,“ d”是“ b”的子代,而“ g”是“ e”的子代,当我根据给定的总宽度将子代均匀地分布在其父代上方时,它们在x轴上重叠树的]。

              g g g g g g g g   (9 nodes)
              \ \ \ \ | / / /
d d d d d d d d d     e         (10 nodes)
\ \ \ \ / / / / /     |
       b              c         (2 nodes)
           \      /
              a                 (1 node)

节点不以任何方式排序。因此它实际上更像是一个必须像树的图形。

我正在努力提出一种算法,该算法使我能够绘制像树一样的数据结构,其中每个节点可以有0..n个孩子。对我来说,问题是,我不知道要分开多远...

tree draw
1个回答
0
投票

为了确定间距,我建议一种算法,该算法包括两个主要步骤。我们将使用graph theory的语言:要绘制的树由nodes

© www.soinside.com 2019 - 2024. All rights reserved.