支持添加开始、加数和随机访问的恒定时间的数据结构

发布于 2024-12-24 20:50:30 字数 179 浏览 0 评论 0原文

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

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

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

感谢您的帮助。

杰瑞

I am looking for a data structure that supports constant time performance for adding an element to the beginning, end, and random access.

I am thinking double ended queue. Does double ended queue support constant time performance for random access? If so, how does it achieve it?

I know one can use double linked list to build a double ended queue. But How do you build an index on all the elements to achieve constant time random access?

Thank you for your help.

Jerry

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小伙你站住 2024-12-31 20:50:30

根据定义,您正在寻找的是双端队列,但这只是一个抽象的数据结构。维基百科在动态数组方面讨论了双端队列的几种实现策略;使用这些,您可以获得摊销的 O(1) 前置和附加。乍一看,循环缓冲区策略似乎是最容易实现的。

What you're looking for would be a double-ended queue by definition, but that's just an abstract data structure. Wikipedia discusses several implementation strategies for deques in terms of dynamic arrays; using these, you can get amortized O(1) prepend and append. The circular buffer strategy seems the easiest to implement, at first glance.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文