2

二分木を使用せずに、コンピューター代数システム全体(代数方程式、極限、導関数、積分)を作成する合理的な方法はありますか?

4

1 に答える 1

2

Maple は有向非巡回グラフ(DAG) を使用します。はノードとリンクを持つツリー状の構造ですが、共通の部分式がある場合、2 つのノードは同じ子を持つことができます。二分木は、特殊なタイプのグラフである DAG の特殊なケースです。

二分木は、実際には少し制限があります。ノードごとに異なる数の子を持つことがよくあります: -x のようなユニタリ演算子、さまざまな数の引数を持つ関数。積分には 4 つの子が必要です。被積分関数、上限と下限、および積分が wrt である変数です。

要素が特定の型になることがわかっている場合は、他のデータ型がより適切である可能性があります。たとえば、多項式を扱っている場合は、多次元配列の方が適切な場合があります。したがって、2 x^2 + 3 x - 7 は [7,3,2] と表されます。

汎用システムの場合、グラフのような構造から逃れることはできないと思います。

于 2014-08-15T05:48:40.217 に答える