1

代替テキスト

これはリストのリストですか、それともただの木 (森) の束ですか?

4

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