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 に答える