Data structures 支持addbegin、addend和随机访问的恒定时间的数据结构

Data structures 支持addbegin、addend和随机访问的恒定时间的数据结构,data-structures,Data Structures,我正在寻找一种数据结构,它支持在开始、结束和随机访问中添加元素的恒定时间性能 我想是双端排队。双端队列是否支持随机访问的恒定时间性能?如果是,它是如何实现的 我知道可以使用双链表来构建双端队列。但是如何在所有元素上建立索引以实现恒定时间的随机访问呢 谢谢你的帮助 Jerry根据定义,您需要的是一个双端队列,但这只是一个抽象的数据结构。维基百科从动态数组的角度进行讨论;使用这些,您可以得到摊销的O(1)prepend和append。乍一看,循环缓冲区策略似乎是最容易实现的。我所知道的大多数DEQU

我正在寻找一种数据结构,它支持在开始、结束和随机访问中添加元素的恒定时间性能

我想是双端排队。双端队列是否支持随机访问的恒定时间性能?如果是,它是如何实现的

我知道可以使用双链表来构建双端队列。但是如何在所有元素上建立索引以实现恒定时间的随机访问呢

谢谢你的帮助


Jerry

根据定义,您需要的是一个双端队列,但这只是一个抽象的数据结构。维基百科从动态数组的角度进行讨论;使用这些,您可以得到摊销的O(1)prepend和append。乍一看,循环缓冲区策略似乎是最容易实现的。

我所知道的大多数DEQUE都是中等大小数组的双链接列表,因此在Armonized O(1)中,它们不会给您提供随机访问。OTHH我想象一个带有ARM化的O(1)附加和预置的数组是可能的…C++ C++ STL库提供支持随机访问的DeGe类。我想知道这是如何实现的,以及该操作的性能。@ JerryXu:在GNU C++头中检查文件<代码> BIT/STLYDEQ.H./CUT>;vgrep查看
/***/
中的注释。