これはリストのリストですか、それともただの木 (森) の束ですか?
2 に答える
1
最良のデータ構造はツリーです (前述のように、ここには 2 つあるためフォレストです)。ただし、S 式はツリーを簡単に表すことができます。S 式は、ツリーと同等のリストのリストを表すことができます。
最初の要素が現在のノードであり、次の要素が子であるなど、リスト形式のツリーの規則をそのまま採用できます。この規則を使用すると、最初のツリーは次のように表されます。
(a1 (a1 (a11 (a111 a112 a113) a112) a12 a13))
2番目の
(a2 (a21 a211)(a22 a221)(a23 (a231 a2311)(a232 a2321)))
また、トップ レベルが forst であるという規則を採用することもできるため、上記の 2 つのリストで構成されるフォレストを 2 つのツリーのリストとして表すだけです。
ご想像のとおり、元 Lisp プログラマーです :)
于 2009-07-31T11:40:22.863 に答える
1
あなたがそれで何をしたいかによって異なります。List<LinkedListTree>
一般的にはうまくいくかもしれません。互いに素な集合 (Kruskal の MST アルゴリズムなど) を表現する必要がある場合は、別のデータ構造を検討する必要があります。
于 2009-07-31T11:36:24.180 に答える