关于双端队列设计问题

关于双端队列设计问题

老师您好,如果双端队列不设计成循环队列会不会有什么问题?

1、双端队列可以两头添加,如果头部无法添加就在尾部添加,两边都不能添加了再扩容;

2、双端队列可以两头取数,用户客户跟进实际情况从两头取数;

3、这样添加和取数的复杂度都是O(1),这样有什么问题吗?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
liuyubobobo 2022-07-14 13:49:05

我有点儿没有理解你的意思。


1)

如果头部无法添加就在尾部添加。那么我们怎么区分现在尾部的元素到底是从头部添加的元素?还是从尾部添加的元素?


2)

用户客户根据实际情况从两头取数。具体是根据什么实际情况?到底规则是怎样的?如果用户想要对猎头的元素,到底要怎么做?想要队列尾的元素,要怎么做?



  • 提问者 飞飞侠91 #1

    我主要想说的是双端队列可以直接用数组队列来实现会不会更简单点?也不会造成复杂度增加

    2022-07-14 14:13:11
  • liuyubobobo 回复 提问者 飞飞侠91 #2

    可以,但是会造成空间的浪费。使用循环队列的原因和普通队列设计成循环队列的原因是一样的,循环起来才能重新使用删除掉的元素的空间。你可以再体会一下课程中介绍循环队列的时候,我们到底为什么要设计循环队列?

    2022-07-14 14:52:51
  • 提问者 飞飞侠91 回复 liuyubobobo #3

    如果可以双端添加,应该也有办法可以更好的利用空间,去重新使用删除掉的元素吧?

    2022-07-14 22:37:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

算法与数据结构
  • 参与学习       2583    人
  • 解答问题       1082    个

慕课网算法名师Liuyubobobo,5年集大成之作 从0到工作5年,算法与数据结构系统解决方案

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师