首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有快速插入和快速搜索的排序序列最简单的DS是什么?

有快速插入和快速搜索的排序序列最简单的DS是什么?
EN

Stack Overflow用户
提问于 2019-05-14 04:03:41
回答 1查看 61关注 0票数 0

我正在寻找一个易于实现的(在C++中)数据结构D,它维护一个排序的整数序列(或任何类似的对象),具有快速插入和快速搜索(例如,可以检查XD中,还是在get ith元素中)。Fast应该是像O(log(n))、O(1)或O(sqrt(N))这样的东西吗?

代码语言:javascript
复制
template<type T>
Class D {
  D(...) { ... }
  void insert(T x);
  int get_ith(int x);
  boolean check_x(T x);
}

目前,我知道AVL树,红色黑树,跳表,尝试,哈希。所有这些都需要非常复杂的解决方案,这些解决方案很难编写代码。尝试可能是最不复杂的。但是,很难做一些事情,比如删除元素和为trie选择一个字母表。

我希望探索新的解决方案,希望是简短和快速的。

提前谢谢你!

EN

回答 1

Stack Overflow用户

发布于 2019-05-14 15:59:26

如果您知道整数值的上限,则只需取一段内存并使用集合中数字的设置位。

  • 如果X在D: O(1)中
  • 插入: O(1)
  • 删除: O(1)

如果整数在最低值到最高值范围内稀疏,则迭代速度很慢。在这种情况下,内存消耗可能是不可接受的。

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

https://stackoverflow.com/questions/56122839

复制
相关文章

相似问题

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