数据结构—栈和队列

现实世界的存储 我们使用的工具和建模 每种数据结构有自己的优点和缺点

想想如果Google的数据用的是数组的存储 我们还能方便地查询到所需要的数据吗?而算法 在这么多的数据中如何做到最快的插入,查找,删除 也是在追求更快

数据存储的常用结构有:堆栈、队列、数组、链表和红黑树

栈stack:又称堆栈,它是运算受限的线性表 其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作

简单的说:采用该结构的集合,对元素的存储有如下的特点

先进先出(即存进去的元素,要在后它后面的元素依次取出后,才能取出该元素)

例如:子弹压进弹夹,先压进去的子弹在下面,后压进去的子弹在上面,当开枪时,先弹出上面的子弹 然后才能弹出下面的子弹

栈的入口、出口的都是栈的顶端位置

图:

 队列

队列:queue,简称队,它同堆栈一样,也是一种运算受限的线性表 其限制是仅允许在表的一端进行插入,而在表的另一端进行删除

存储的特点

先进先出(即存储进去的元素,要在后它前面的元素依次取出后,才能取出该元素)

例如小火车过山洞,车头先进去 车尾后进去 车头先出来 车尾后出来

队列的入口、出口各占一侧 例如下图中的左侧为入口 右侧为出口

posted @ 2022-10-17 09:42  想见玺1面  阅读(18)  评论(0编辑  收藏  举报