主要问题
是否有一种有效的方法来输出类似于TreeForm
输出的值树?
像
这样的东西TreeForm[1[2, 3[4[1, 2], 5[3, 4], 6[1, 2, 3, 4, 5[6]]]]]
为什么我要这个?
我的目的是分析我的实验课程的输出。为此,我需要“构建”我的数据以使用分区等进行计算。我有一个示例here。我希望能够获得创建的“结构”的图形输出。
但是,想象一下,我需要使用一些函数为这个树添加一个级别。这似乎不太实际。使用数字作为头部对我来说有点令人不安。
答案 0 :(得分:0)
看了你引用的例子,我建议你在2D(至少在最外层)阵列中消除你的信息。通过适当的谨慎,这可以使您的计算表达式变得简单,并且您可以使用索引信息和先验定义对树节点和边缘进行编号,从而使树形成树。
答案 1 :(得分:0)
TreeForm将Mathematica表达式表示为树(每个mathematica表达式都可以表示为树)。但是,在您的示例中,不同的顶点具有相同的标签,从而生成树中不允许的循环。因此,任何将这种数据结构转换为另一种表示形式的“花哨”数学代码都不会产生树的数据结构。 至于树遍历,ReplaceAll,Replace等实际上是带有模式的DFS,所以也许你可以使用它来处理你的数据,但恕我直言,修改表示在这里至关重要。