数据结构复习之栈和队列(正在整理中...)感谢天勤考研..
栈(先进后出)
一、逻辑结构
栈到底是什么?
栈是一种只能在一端进行插入或删除操作的线性表。
二、存储结构
顺序栈
++top 的意思是 先让top 自增1
top-- 先取top的值 再减1
注意一个点:
此时3和4 还在数组中,但是却不在栈中了(栈中元素访问【0,top】)
链栈
注意:顺序栈会出现栈空和栈满的状态,但是链式会栈空,但是只要由足够的内存,栈就不会满
队列(先进先出)
一、逻辑结构
队列是一种插入元素只能在一端(队尾)能进,删除元素只能在另一端(队头)进行的线性表。
一、存储结构
顺序队(数组和指示变量)
容易发生假溢出
利用取余的方法实现“圆环”
队空状态:front==rear
队满状态:front==(rear+1)%maxSize为真
链队
在内存足够的情况下,它连队满都不会有呢
当front->next==null 队空
但是很多考题都会把front和rear放在一个结构体中(如下图)
很显然当front==null的时候 队空
栈和队列的考点总结
输出序列
考试不要掉入陷阱当中
谁说不能一边入栈一边出栈呢
经典题型(分类讨论)
标黄色的 不可能实现
告诉我们 最后一个入栈的元素 第一个出栈,出栈的顺序就是固定的,不能乱来
若1、2、3 则无3、1、2
课外拓展
表达式转换问题
中缀表达式转后缀
注意点:
为什么可以丢掉括号:因为每一个中缀表达式 只有唯一的后缀表达式与之对应
用栈实现表达式转换问题
中缀转后缀
小于等于(要入栈的那个运算符与栈顶的比较)则出栈 大于入栈
遇到左括号 所有扫描到的运算符直接全部入栈
遇到右括号的时候 执行一系列的出栈操作(出栈的括号直接扔掉)
中缀转前缀
数据结构复习之栈和队列(正在整理中...)感谢天勤考研..相关推荐
- SDUT-2449_数据结构实验之栈与队列十:走迷宫
数据结构实验之栈与队列十:走迷宫 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 一个由n * m 个格子组成的迷宫,起 ...
- sdut 2088 数据结构实验之栈与队列十一:refresh的停车场
数据结构实验之栈与队列十一:refresh的停车场 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem ...
- sdut 1479 数据结构实验之栈与队列九:行编辑器
数据结构实验之栈与队列九:行编辑器 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...
- sdut 3335 数据结构实验之栈与队列八:栈的基本操作
数据结构实验之栈与队列八:栈的基本操作 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descri ...
- sdut 3333 数据结构实验之栈与队列六:下一较大值(二)
数据结构实验之栈与队列六:下一较大值(二) Time Limit: 150MS Memory Limit: 8000KB Submit Statistic Discuss Problem Descri ...
- sdut-3332 数据结构实验之栈与队列五:下一较大值(一)
数据结构实验之栈与队列五:下一较大值(一) Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Desc ...
- sdut 2134 数据结构实验之栈与队列四:括号匹配
数据结构实验之栈与队列四:括号匹配 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...
- SDUT-2132_数据结构实验之栈与队列二:一般算术表达式转换成后缀式
数据结构实验之栈与队列二:一般算术表达式转换成后缀式 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 对于一个基于二元运 ...
- 计算机队列概念,2020计算机专业考研数据结构知识点:栈、队列和数组
2020计算机专业考研数据结构知识点:栈.队列和数组 1.栈.队列的定义及其相关数据结构的概念,包括:顺序栈.链栈.循环队列.链队列等.栈与队列存取数据(请注意包括:存和取两部分)的特点. 2. 掌握 ...
最新文章
- php 引入类_PHP 如何引入同一文件下多个class类
- linux播放视频的最简单方法
- yum是什么?(linux命令) .
- RTA广告能力的应用场景剖析
- 极度丝滑!CentOS/Unbuntu系统下快速设置虚拟内存,一行命令快速搞定!!!
- Procrustes Analysis(普氏分析)
- Ruby编程语言学习笔记4
- CUDA学习(三十六)
- 数据库流行度10月排行榜:Oracle 王者归来和 Redis 青云直上
- Part 2 —— 迁移到 Go Modules
- 惠普服务器ssa找不到控制卡,DL380 Gen10服务器Vmware ESXi 6.0 系统SSACLI工具
- pytorch自动求导数机制
- python设置路径变量_python – Bokeh中设置的静态路径变量在哪里(对于create_html_snippet)...
- f5 会话保持 负载均衡_f5会话保持的.doc
- 浏览器分辨率使用排名以及不同分辨率下的网页测试
- STM32L0外接32768HZ晶振应该接多大的负载电容才合适
- 只愿得一人心白首不分离
- 解决Linux“Device is busy”与磁盘只读
- 如何彻底删除小黑记事本弹窗
- itlwm驱动_黑苹果春天:macOS英特尔/Intel无线驱动 itlwm v1.1.0 stable
热门文章
- 超哥带你玩转正则表达式-(六)
- 汉游天下掼蛋源码window.onload用法技巧
- 邮政集团的OA系统无法显示文档
- 双胞胎宝宝取名要注意什么
- SQL优化大神带你写有趣的SQL(6) SELF JOIN的应用
- Qt (高仿Visio)流程图组件开发(九) 流程图 代码展示
- Unity Shader - 故障艺术之 - Glitch Art - ImageBlock + Split RGB (区块强度 + 分离通道颜色的故障效果)
- 教室预约微信小程序,教室预约系统小程序,教室预约小程序系统毕业设计作品
- 苹果nfc功能怎么开启_手机上面的NFC功能怎么用的
- python(3.9.7)的字典(全面、细致)