Carson带你学数据结构:特殊的线性表之 栈 & 队列


前言

  • 本文主要讲解 数据结构中特殊的线性表结构:栈 & 队列
  • 内容包括其特点、结构等,希望你们会喜欢。

目录

示意图

1. 栈

1.1 简介

示意图

1.2 存储结构介绍

1.2.1 顺序存储结构
  • 结构特点
    存储线性表的数据元素的方式 = 一段地址连续的存储单元

也称:顺序栈

  • 示意图(栈状态说明)
示意图
  • 栈操作(入栈、出栈、共享)
    具体请看下图
示意图

1.2.2 链式存储结构

  • 结构特点
    存储线性表的数据元素的方式 = 一段地址不连续、任意的存储单元
  1. 存储空间 = 离线、单独的,通过指针联系
  2. 也称:链栈
  • 结构示意图
示意图
  • 栈操作(入栈 & 出栈)
    具体请看下图
示意图

注:时间复杂度均为O(1)

1.3 存储结构对比

示意图

2. 队列

下面,我们来看另外一种特殊的线性表:队列

2.1 简介

队列.jpg

2.2 存储结构介绍

2.2.1 顺序存储结构

  • 定义
    头尾相接的顺序存储结构 队列,也称:循环队列

  • 为什么要有循环队列

示意图
  • 判断队列空/ 满
示意图

2.2.2 链式存储结构

  • 定义
    队列的链式存储结构 = 线性表的单链表 + 尾进头出

也称:链队列

  • 结构说明
示意图
  • 链队列操作说明(入队 & 出队)
示意图

2.3 存储结构对比

即, 顺序存储结构(循环队列) & 链式存储结构(链队列)对比

示意图

3. 总结

  • 本文主要讲解了 数据结构中特殊的线性表结构:栈 & 队列
示意图

下面我将继续对 数据结构进行讲解,有兴趣可以继续关注Carson_Ho的简书


欢迎关注Carson_Ho的简书!

不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度


请点赞!因为你的鼓励是我写作的最大动力!

相关文章阅读
Android开发:最全面、最易懂的Android屏幕适配解决方案
Android事件分发机制详解:史上最全面、最易懂
Android开发:史上最全的Android消息推送解决方案
Android开发:最全面、最易懂的Webview详解
Android开发:JSON简介及最全面解析方法!
Android四大组件:BroadcastReceiver史上最全面解析
Android四大组件:Service服务史上最全面解析

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容