加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala中的树集合

发布时间:2020-12-16 19:04:53 所属栏目:安全 来源:网络整理
导读:我想在 Scala中实现一个树.我的特定树使用Swing Split窗格来给出地图上的多个视图.拆分窗格内的任何窗格本身可以进一步分割,以提供额外的视图.我正确的说,TreeMap和TreeSet都不提供Tree功能?请原谅我,如果我误解了这一点.它打击我应该有标准的树收集,这是不
我想在 Scala中实现一个树.我的特定树使用Swing Split窗格来给出地图上的多个视图.拆分窗格内的任何窗格本身可以进一步分割,以提供额外的视图.我正确的说,TreeMap和TreeSet都不提供Tree功能?请原谅我,如果我误解了这一点.它打击我应该有标准的树收集,这是不好的做法,继续重塑轮子.那里有没有树的实现可能是未来的Scala标准?

所有树有三种类型的元素:根,节和叶.叶子和节点必须对父节点有单个引用.根节点可以对子节点和节点有多个引用.叶子没有孩子.子节点被删除时,节点和根节点不能被删除.我可能还有其他的规则/约束,我错过了.

这似乎是足够的通用规范来证明标准集合.我还建议,应该有一个标准的子类集合,其中Root和Nodes只能有2个子节点或一个单独的子节点.在我特定的情况下,我想要什么

解决方法

实际上,一棵树本身是很无用的,很难说明.

从后者开始,谈论数据结构,树有多少个孩子?节点是否存储值?节点是否存储元数据?孩子们有指点他们的父母吗?您是否将树作为具有指针的节点或阵列上的位置元素存储?

这些都是答案是“依赖”的问题.事实上,你表示孩子们有指向父母的指针,但对于任何不变的树来说都不是真的!您似乎也假设当一些树实际上作为节点存储在单个数组(例如Heap)上时,树总是作为具有引用的节点对象存储.

此外,并不是所有这些要求都可以适应 – 一些是相互排斥的.即使你忽略了这些,你仍然有一个数据结构,没有优化任何东西,笨拙的使用,因为你必须处理很多与你无关的细节.

那么第二个问题就是一棵树本身就没用了. TreeSet和TreeMap利用其插入/删除/查找算法使其成为排序数据的良好数据结构的特定树.但是,这并不是树木的唯一用途.树可以用于搜索空间算法,代表树状现实世界信息,组成文件系统等.有时候,taks在图中找到一棵树.这些使用中的每一个都需要不同的表示和不同的算法 – 这些算法是使它们有用的.

而最重要的是,编写一个树类是微不足道的.问题是编写算法来操纵它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读