双端队列deque和vector以及list的优缺点比较

参考:https://blog.csdn.net/TWRenHao/article/details/123483085

一、vector
vector具体用法详情点这里
优点:

支持随机访问
CPU高速环缓存命中率很高
缺点:

空间不够,便需要增容。而增容代价很大,还存在一定的空间浪费。
头部和中间插入删除时时间复杂度为O(N),效率低。
二、list
list具体用法详情点这里
优点:

按需申请释放空间即可
任意位置的插入和删除数据都是O(1),效率高。
缺点:

不支持随机访问
CPU高速缓存命中率低
三、deque(双端队列)
设计结构:
使用固定数组大小的buff(一般8~10),再设计一个中控数组进行管理(指针数组)
具体深入到四个迭代器实现图如下:

在这里插入图片描述
优点:
很适合头插入,尾插入,头删除和尾删除,所以最合适做stack(栈)和queue(队列)的适配器

缺点:

中间插入数据很麻烦,效率不高(最大的硬伤)
deque是一种折中的方案设计,不够极致!随机访问不及vector,任意位置插入删除不及list。
四、何为适配器(配接器)?
转换——并不是直接实现的,封装其他容器,包装转换实现出来。

看到这里,聪明的友友可能已经发现了,那谁是适配器而不是像vector和list一样的容器呢?
没错!就是栈(stack)和队列(queque)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/779349.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis在docker安装并启动流程

1、启动server docker run -d -p 6379:6379 --name redis01 redis:7.2.4以上命令,每次启动新的Redis容器,数据会丢失。 我们需要挂载数据文件,在宿主机上面,这样就可以持久化数据. 2、挂载数据文件(可根据需求选择…

Git相关命令(一)

一、简介 Git 是一个开源的分布式版本控制系统。 当然, git 不会傻傻的把你的每一个版本完整的存储下来,他仅仅会存储每次修改的位置和内容(可持久化),每一次 commit 可以理解为产生一个版本,接下来的版本…

vivado 生成比特流或器件镜像

在生成比特流或器件镜像之前 , 请复查其设置 , 确保这些设置对于您的设计都正确无误 , 这一点至关重要。 Vivado IDE 中的比特流和器件镜像设置分为 2 种类型 : 1. 比特流或器件镜像文件格式设置。 2. 器件配置设置。 在 V…

数据结构刷题篇 之 【力扣二叉树基础OJ】详细讲解(含每道题链接及递归图解)

有没有一起拼用银行卡的,取钱的时候我用,存钱的时候你用 1、相同的树 难度等级:⭐ 直达链接:相同的树 2、单值二叉树 难度等级:⭐ 直达链接:单值二叉树 3、对称二叉树 难度等级:⭐⭐ 直达…

【Godot4自学手册】第三十一节使用WorldEnvironment为地宫入口粒子系统添加辉光

本节,首先我将使用WorldEnvironment节点为地宫入口的例子系统添加辉光,让游戏看上去效果更加灿烂。其次加入相应提示信息,白天到达地宫附近、未杀死怪物进入地宫,都有提示信息,达到条件后地宫方可进入。先看一下效果&a…

CSS之动画

一,动画的制作 实现盒子绕圈走 二, 动画的常用属性 三,动画简写属性 前面两个属性一定要写,第三个linear是指匀速的意思(默认是ease)

Machine Learning机器学习之数据可视化

目录 前言 一、 数据预处理与清洗 二、常见可视化技术 三、可视化工具和平台 博主介绍:✌专注于前后端、机器学习、人工智能应用领域开发的优质创作者、秉着互联网精神开源贡献精神,答疑解惑、坚持优质作品共享。本人是掘金/腾讯云/阿里云等平台优质作者…

tls和ssl的区别,ssh和ssl区别

在网络通信和安全领域,TLS(Transport Layer Security)、SSL(Secure Sockets Layer)和SSH(Secure Shell)是常见的加密协议,它们都起着保护数据安全的重要作用。在本文中,我…

PPP、RRE、MGRE综合实验

一、实验拓扑图 二、实验要求 1.R5为ISP,只能进行IP地址配置,其所有地址均配为公有IP地址; 2.R1和R5间使用PPP的PAP认证,R5为主认证方: R2与R5之间使用ppp的CHAP认证, R5为主认证方;R3与R5之间使用HDLC封装; 3.R1、R2、…

MSTP环路避免实验(思科)

华为设备参考:MSTP环路避免实验(华为) 一,技术简介 MSTP(多生成树协议),MSTP解决了STP和RSTP没有考虑vlan的问题,STP和RSTP将所有的vlan共享为一个生成树实例,无法实现…

linux提权笔记

1 linux提权简介 Linux提权,简单来说,就是用户尝试获取高于其当前权限级别的系统访问权限的过程。在Linux系统中,root用户拥有最高的权限,能够执行任何操作,包括修改系统文件、安装软件、管理用户账户等。而普通用户通…

岭师大数据技术原理与应用-序章-软工版

HeZaoCha-CSDN博客 序章—软工版 一、环境介绍1. VMware Workstation Pro2. CentOS3. Java4. Hadoop5. HBase6. MySQL7. Hive 二、系统安装1. 虚拟网络编辑器2. 操作系统安装 三、结尾 先说说哥们写这系列博客的原因,本来学完咱也没想着再管部署这部分问题的说&…

腾讯云优惠券领取步骤详解

腾讯云是腾讯公司旗下云计算品牌,作为国内领先的云计算服务提供商,为企业和个人提供了丰富的云产品和服务。为了吸引用户上云,腾讯云推出了各种优惠券,让用户在购买云产品时享受更多优惠。本文将为大家详细解析腾讯云优惠券的领取…

文献学习(自备)

收官大作,多组学融合的新套路发NC!! - 知乎 (zhihu.com) Hofbauer cell function in the term placenta associates with adult cardiovascular and depressive outcomes | Nature Communications 病理性胎盘炎症会增加几种成人疾病的风险&a…

系统分析师-参考模型

前言 网络术语中的参考模型指的是OSI参考模型,由ISO(国际标准化组织)制定的一套普遍适用的规范集合,以使得全球范围的计算机平台可进行开放式通信。 ISO创建了一个有助于开发和理解计算机的通信模型,即开放系统互联OS…

探索数据结构:链式队与循环队列的模拟、实现与应用

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. 队列的定义 队列(queue)是一种只允许在一端进…

docker--部署 (超详版) (五)

环境准备:docker,mysql,redis,镜像,nginx 把虚拟机打开,连接xshell,参考博客: https://blog.csdn.net/m0_74229802/article/details/136965820?spm1001.2014.3001.5501 一&#x…

【微信加人自动化】RPA机器人:人人都会实现的机器人

用上这个机器人,一定要心平气和,不要放肆,单号忍住控制在15个人以内(但悄悄的告诉你,可以切换账号呀) 这个加人机器人,人人都可以通过学习自己动手实现,不再局限于遥不可及的“黑科…

千川素材投放效果如何追踪:精准识别爆款、潜力、首发、优质素材

在数字营销和广告领域,素材投放的效果直接关乎广告的成功与否。为了在竞争激烈的市场中脱颖而出,广告主和广告从业者需要密切关注素材投放效果,并及时识别出不同类型的素材,如爆款、潜力、首发和优质素材。本文将详细探讨如何进行…

2020年天津市二级分类土地利用数据(矢量)

天津市,位于华北平原海河五大支流汇流处,东临渤海,北依燕山。地势以平原和洼地为主,北部有低山丘陵,海拔由北向南逐渐下降,地貌总轮廓为西北高而东南低。天津有山地、丘陵和平原三种地形,平原约…