首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据结构

数据结构
EN

Stack Overflow用户
提问于 2010-03-16 21:47:11
回答 2查看 535关注 0票数 3

有一个大的数字流进来,比如5 6 7 2 3 1 2 3 ..考虑到元素必须以降序插入并且应该消除重复的约束,哪种类型的数据结构适合于这个问题。

我没有寻找任何代码,只是想法?我在想一个自平衡的BST,我们可以添加这样的条件,即所有节点<当前节点在左侧,所有节点>当前节点在右侧,这样可以处理重复的节点。但我不认为它们必须以降序插入。有没有更好的选择..当然,它需要在时间和空间上都是有效的。

EN

回答 2

Stack Overflow用户

发布于 2010-03-16 22:00:49

这在一定程度上取决于重复项与总样本大小的比率。

高重复比率可能更容易解决,或者只使用散列(其键偶尔被排序到有序列表中),或者使用散列和空白树的组合(用于过滤重复的散列)。

低重复比,只需按照您的建议使用平衡树即可。

票数 1
EN

Stack Overflow用户

发布于 2010-03-16 22:02:25

既然您已经获得了仅仅是数字的简单数据,为什么不使用存储在数组中的二进制堆呢?当然,您应该知道元素数量的上限,以避免重新分配它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2454797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档