K:栈和队列的比较
来源:互联网 发布:程序员要学什么 编辑:程序博客网 时间:2024/05/25 08:12
栈和队列的相同点:
1.都是线性结构,即数据元素之间具有“一对一”的逻辑关系
2.都可以在顺序存储结构和链式存储结构上进行实现
3.在时间代价上,插入和删除操作都需常数时间;在空间代价上,情况相同
4.多链栈和多链队列的管理模式可以相同
栈和队列的不同点:
1.删除数据元素操作的位置不同。对于栈而言,其在一端插入数据元素,同时在该端删除数据元素,对于队列而言,其在一端插入数据元素,在另一端删除数据元素。
2.两者的应用场景不同。具有后进先出(或先进后出)特性的应用需求,可以使用栈来进行管理。对于具有先进先出(或后进后出)特性的应用需求,可以使用队列进行管理
3.顺序栈可以实现多栈空间共享,而顺序队列则不同。在实际应用中,经常会出现在一个程序中需要同时使用两个栈或队列的情况。若采用顺序存储,就可以使用一个足够大的数组空间来存储多个栈,即让多个栈共享同一存储空间。如下图:其为两个栈共享空间的示意图。其中,把数组的两端设置为两栈各自的栈底,两栈的栈顶从两端开始向中间延伸,可以充分利用顺序栈单向延伸的特性,使两个栈的空间形成互补,从而提高存储空间的利用率。然而,对于顺序队列,就不能像顺序栈那样在同一个数组中存储两个队列,除非总有数据元素从一个队列转入另一个队列。
阅读全文
0 0
- K:栈和队列的比较
- 数据结构第三章栈和队列的比较
- 数据结构 第三章 栈和队列的比较
- 链表 队列 栈的比较
- 队列和列表的简单比较
- 第三章:比较总结栈和队列
- top k算法的3种简单实现和比较
- k-means算法和KNN算法的比较
- K:顺序表和链表的比较
- 队列,栈,堆栈,数组的比较
- 比较器&&队列&&栈
- 栈和队列的
- RabbitMQ入门教程(十七):消息队列的应用场景和常见的消息队列之间的比较
- 消息队列的应用场景和常见的消息队列之间的比较
- 各种消息队列的比较
- HDU 3415 Max Sum of Max-K-sub-sequence(长度不超过k的最大连续子序列和,单调队列)
- 栈和队列--队列
- 【栈和队列】队列
- Html+CSS+JavaScript学习
- 如何使用网络库实现应用级消息收发
- 代理设计模式(JDK与CGLIB)
- 网站优化篇
- 多线程在编写代码时一些知识点
- K:栈和队列的比较
- Linux下时间不同步解决
- 一、概述
- Windows下Anaconda2(Python2)和Anaconda3(Python3)的共存
- 2017-8-31
- STORM入门之(TridentAPI,Aggregation)
- [笔记分享] [SCons] Qualcomm SCons Overview
- 如何将本地项目上传至GitHub
- html5 视频播放及border