algorithm - 用于从开始和结束添加/删除的高效数据结构,应支持随机访问

标签 algorithm data-structures

应该是高效的 - 在开始/结束时添加 - 在开始/结束时删除 - 支持随机访问

最佳答案

使用 circular buffer .当空间不足时,将尺寸翻倍。这将在开始/结束时执行插入/删除以及每次操作(摊销)在 O(1) 时间内的随机访问。

在 C++ 中,std::deque 可以在开始/结束时进行插入/删除以及 O(1) 中的随机访问。

关于algorithm - 用于从开始和结束添加/删除的高效数据结构,应支持随机访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11460328/

相关文章:

c - 结构中数据类型的顺序

python - 我无与伦比的井字游戏程序失败了

javascript - 如何在javascript中识别数组中的重复模式

c# - WPF 多边形相交

c++ - 以每个元素等于两个数字的最小和的方式填充数组,使得

java - 是否有一些更好的方法可以在您使用相当小的数据集输入 Java 时实现查找?

algorithm - 对于图,给定一个顶点有一个循环,为什么该顶点的度取为 2 而不是 1?

java - 列表列表中的堆算法实现

java - 通过 1 遍查找链表的中间元素,这是创意 "useless answer"吗?

algorithm - 计算 O(n) 时间内的重叠间隔数?