0

主要问题

有没有一种有效的方法来输出类似于输出的值树TreeForm

就像是

TreeForm[1[2, 3[4[1, 2], 5[3, 4], 6[1, 2, 3, 4, 5[6]]]]]

我为什么要这个?

我的目的是分析我的实验课的输出。为此,我需要“结构化”我的数据来进行计算,使用分区等。我在这里有一个例子。我希望能够获得创建的“结构”的图形输出。

然而,想象一下,我需要为这棵树添加一个包含一些功能的关卡。好像不太实用。使用数字作为头部对我来说有点令人不安。

4

2 回答 2

0

TreeForm 将 Mathematica 表达式表示为树(每个 mathematica 表达式都可以表示为树)。但是,在您的示例中,不同的顶点具有相同的标签,因此会生成树中不允许的循环。因此,任何将这种数据结构转换为另一种表示的“花哨”mathematica 代码都无法生成树的数据结构。至于树遍历,ReplaceAll、Replace 等实际上是带有模式的 DFS,所以也许您可以使用它来处理您的数据,但恕我直言,修改表示在这里至关重要。

于 2013-04-15T04:18:31.927 回答
0

在查看了您引用的示例后,我建议将您的信息排列在 2D(至少在最外层)数组中。通过适当的注意,这可以使您的计算表达式变得简单,并且您可以使用 TreePlot 从中生成一棵树,使用索引信息和先验定义对节点和边进行编号。

于 2013-04-14T21:34:42.233 回答