第四章栈与队列

作者: 洋之_ | 来源:发表于2019-11-03 12:57 被阅读0次

知识大纲

栈与队列.png

栈和队列的数据结构

相同点

栈和队列都是对删除和插入做了限制的线性表 栈和队列的都是建立在线性表的数据结构上的。因为线性表分顺序存储结构和链式存储结构,所有栈和队列都同时区分这两种数据结构。也就同时拥有了这两种数据结构的优缺点。

不同点

stack栈是限定仅在表尾进行插入和删除操作的线性表。

  • 顺序栈:建立在线性表顺序存储上的栈结构
    当数据类型相同且有相反关系时可以用共享空间解决栈的的空间大小固定的问题。
  • 链式栈:建立在线性表上链式存储的栈结构
    增加了指针域,但是空间大小自由。就是是做每个数据元素的所站的控件增加了,但是链式栈所站的控件是自由的。

队列是只允许在一段进行插入操作,另一段进行删除操作的线性表

  • 顺序队列 : 建立在线性表顺序存储上的队列结构
    不同队列,前面删除元素后后面的所有元素都会移动,时间复杂度为O(n)
    循环队列,当前面的元素被删除后面的元素要溢出的时候,将再增加的元素添加到下标为0的地方。解决了空间浪费和假溢出的问题

  • 链式队列 :建立在线性表链式存储上的队列结构

栈和队列的应用

  • 栈的应用

1,计算机处理四则运算表达式
1.1,将中缀表达式转为后缀表达式
1.2,将后缀表达式进行运算得出结果
将数字和运算符放到了2个栈里面

2,递归
一个直接调用自己或间接调用自己的函数,称为递归。
尾递归(想要了解尾递归需要先了解尾调用)
什么是尾调用?
指某个函数的最后一步是调用另一个函数,尾调用不一定出现在函数尾部,只要是最后一步操作即可。
这个函数只能是一个函数不能再加减乘除任何参数
尾调用优化
函数调用会在内存形成一个"调用记录",又称"调用帧"(call frame),保存调用位置和内部变量等信息。
如果在函数A的内部调用函数B,那么在A的调用记录上方,还会形成一个B的调用记录。等到B运行结束,将结果返回到A,B的调用记录才会消失。如果函数B内部还调用函数C,那就还有一个C的调用记录栈,以此类推。所有的调用记录,就形成一个["调用栈"]。
尾调用由于是函数的最后一步操作,所以不需要保留外层函数的调用记录,因为调用位置、内部变量等信息都不会再用到了,只要直接用内层函数的调用记录,取代外层函数的调用记录就可以了
尾递归
函数调用自身,称为递归。如果尾调用自身,就称为尾递归
递归非常消耗内存
递归非常耗费内存,因为需要同时保存成千上百个调用记录,很容易发生"栈溢出"错误(stack overflow)。但对于尾递归来说,由于只存在一个调用记录,所以永远不会发生"栈溢出"错误

  • 队列的应用
    计算机操作系统
    客服系统

相关文章

  • Swift 队列&栈 相关操作

    栈 LIFO(后进先出) 队列 FIFO(先进先出) 队列与栈相互的实现 栈 - 队列实现 队列 - 栈实现 相关...

  • 大话数据结构学习笔记(4)

    第四章 栈与队列 栈:栈是限定仅在表尾进行插入和删除操作的线性表。 我们把允许插入和删除的一端称为栈顶,另一端称为...

  • 数据结构学习 | 队列和栈

    栈 后进先出 栈顶允许插入(压栈)、删除(弹栈) 应用:数制转换数制转换与栈 队列 先进先出 队列头部允许删除,队...

  • Algorithm小白入门 -- 队列和栈

    队列和栈队列实现栈、栈实现队列单调栈单调队列运用栈去重 1. 队列实现栈、栈实现队列 队列是一种先进先出的数据结构...

  • 常见数据结构

    栈、队列、数组、链表、树、哈希表 栈 与 队列 首先我们需要了解【栈】与【列队】的区别,它们的最大区别就是数据进出...

  • 栈和队列

    用栈定义队列(出入栈) 用队列定义栈(数据队列和辅助队列)

  • LeetCode刷题笔记(三)栈与队列

    三. 栈与队列 python中的栈直接用list实现,队列用deque,需要导入外部包。 155. 最小栈 题目:...

  • 实 验 四 栈和队列

    一、实验目的与要求:## 1、理解栈和队列抽象数据类型。 2、掌握栈和队列的存储结构和操作实现。 3、理解栈和队列...

  • 数据结构的各种代码

    第 02 章 线性表 顺序存储结构 链式存储结构 第 03 章 栈与队列 顺序栈 链栈 两栈共享空间 循环队列 链...

  • 数据结构——栈和队列

    用数组实现栈和队列 用栈实现队列 用队列实现栈 栈和队列的经典算法题最小间距栈宠物收养所 数组实现栈和队列 用数组...

网友评论

    本文标题:第四章栈与队列

    本文链接:https://www.haomeiwen.com/subject/ixpcbctx.html