我想在 Scala 中实现一棵树。我的特定树使用 Swing Split 窗格来提供地理地图的多个视图。拆分窗格中的任何窗格本身都可以进一步划分以提供额外的视图。我是否正确地说 TreeMap 和 TreeSet 都没有提供 Tree 功能?如果我误解了这一点,请原谅我。令我震惊的是,应该有标准的 Tree 集合,并且不断重新发明轮子是不好的做法。是否有任何可能成为未来 Scala 标准的 Tree 实现?
所有的树都具有三种类型的元素:根、节点和叶子。叶子和节点必须有一个对父节点的引用。Root 和 Nodes 可以对子节点和叶子有多个引用。叶子有零个孩子。如果不删除它们的子节点,就不能删除节点和根。我可能错过了其他规则/约束。
这似乎足以证明标准集合的合理性。我还建议在 Root 和 Nodes 只能有 2 个孩子或一个叶子孩子的情况下,应该有一个标准的子类集合。这就是我在特定情况下想要的。