答案 0 :(得分:1)
取决于你想用它做什么。 List<LinkedListTree>
可能适用于一般情况。如果您需要表示不相交的集合(如Kruskal的MST算法),您可能需要查看another data structure。
答案 1 :(得分:1)
最佳数据结构是一棵树(如你所提到的,森林,因为这里有2个)但是,S表达式可以很容易地表示树 - 而S表达式可以表示列表的列表,它们等同于树。
您可以以列表形式采用树的约定,例如第一个元素是当前节点,以下元素是子元素。使用此约定,第一个树将表示为:
(a1(a1(a11(a111 a112 a113)a112)a12 a13))
第二个
(a2(a21 a211)(a22 a221)(a23(a231 a2311)(a232 a2321)))
你也可以采用最高级别为forst的约定,所以你只需要将上面2个列表组成的森林表示为2棵树的列表。
如果你没猜到,这里的前任Lisp程序员:)