数据结构和算法绪论 学习笔记(四)

  • 什么是数据结构?
  • 栈和队列
先反问下,什么是数据结构?

数据结构是一种在程序中系统化管理数据集合的形式。不过,数据结构很少单纯地表示数据集合,它通常由以下3个概念组合而成。

  • 数据集合。 通过对象数据的本体(例如数组和结构体等基本数据结构)保存数据集合。
  • 规则。保证数据集合按照一定规矩进行正确操作、管理和保存的规则。比如按照何种顺序取出数据等条款。
  • 操作。“插入元素” 和 “取出元素” 等对数据集合的操作。“查询数据的元素数” 和 “检查数据的集合是否为空” 等查询也包含在内。
数据结构的概念
栈 和 队列

当然此处的栈不是内存中 栈的概念...

栈是一种能有效帮助我们临时保存数据的数据结构,按照最后进入栈的数据最先出栈(后入先出,Last In First Out,LIFO)规则管理数据。

  • 操作

    • push(x):在栈中顶部添加元素 x
    • pop():从栈顶部取出元素
    • isEmpty():检查栈是否为空
    • isFull(): 检查栈是否已满
    • 另外,还有“引用栈顶元素” 和 “检查栈中是否含有指定数据” 的操作。
  • 规则
    数据中最后加入的元素最先被取出,即 pop 取出的元素是最后一次被 push 的元素(距离上一次 push 最近的元素)。

仅限定在表尾进行插入或删除操作的线性表

队列

队列是一种等待处理的行列,按先后顺序处理数据时会用到这种数据结构。数据中最先放入的元素最先被取出,即按照先入先出(Fast In First Out ,FIFO) 的规则管理数据

  • 操作

    • enqueue(x):在队列末尾添加元素 x
    • dequeue():从队列开头取出元素
    • isEmpty():检查队列是否为空
    • isFull(): 检查队列是否已满
    • 另外,还有“引用队头元素” 和 “检查队列中是否含有指定数据” 的操作。
  • 规则
    数据中最先进入队列的元素(即上一次 enqueue 时间最久的元素) 最先被取出,即 dequeue 操作按照元素被添加的先后顺序取出元素。

一种先进先出的线性表
笔记来源:

【数据结构】——严蔚敏 版本

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

推荐阅读更多精彩内容

  • 1 序 2016年6月25日夜,帝都,天下着大雨,拖着行李箱和同学在校门口照了最后一张合照,搬离寝室打车去了提前租...
    RichardJieChen阅读 10,606评论 0 12
  • 课程介绍 先修课:概率统计,程序设计实习,集合论与图论 后续课:算法分析与设计,编译原理,操作系统,数据库概论,人...
    ShellyWhen阅读 6,895评论 0 3
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,046评论 25 709
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,429评论 11 349
  • 1,核对4月19需紧急汇报追偿案子的具体进展 2,整理刘建学材料,写起诉状 3,整理张伟杰材料,立案 4,刘蕾二次...
    信泽7阅读 1,774评论 0 0