东南大学:《数据结构》课程教学资源(PPT课件讲稿)第三章 栈与队列

第三章栈与队列 东南大学计算机学院方效林 本课件借鉴了清华大学殷人昆老师 和哈尔滨工业大学张岩老师的课件
第三章 栈与队列 东南大学计算机学院 方效林 本课件借鉴了清华大学殷人昆老师 和哈尔滨工业大学张岩老师的课件

本章主要内容 栈 ■栈的应用:表达式求值 栈与递归 队列 队列的应用:电路布线
本章主要内容 ◼ 栈 ◼ 栈的应用:表达式求值 ◼ 栈与递归 ◼ 队列 ◼ 队列的应用:电路布线 2

■定义:只允许在表的末端进行插入和删除的线 性表 特点:先进后出 栈的操作 口进栈push 出栈pp0 口栈顶top( 置空 setEmpty() 判断是否为空 isEmpty() 口栈满 isFul(
栈 ◼ 定义:只允许在表的末端进行插入和删除的线 性表 ◼ 特点:先进后出 ◼ 栈的操作 进栈 push() 出栈 pop() 栈顶 top() 置空 setEmpty() 判断是否为空 isEmpty() 栈满 isFull() 3

栈的数组表示 ■栈的操作 进栈push0 push( 口出栈pop0 口栈顶top( 置空 makeEmpty0 top→ 判断是否为空 isEmpty0 口栈满 isFull( top→ top→空栈
栈 ◼ 栈的数组表示 ◼ 栈的操作 进栈 push() 出栈 pop() 栈顶 top() 置空 makeEmpty() 判断是否为空 isEmpty() 栈满 isFull() 4 top a top b top c top 空栈

■栈的单链表表示 栈的数组表示可能栈满 栈的单链表表示无栈满问题 口入栈在表头进行插入操作 top c 出栈在表头进行删除操作 a null
栈 ◼ 栈的单链表表示 栈的数组表示可能栈满 栈的单链表表示无栈满问题 入栈在表头进行插入操作 出栈在表头进行删除操作 5 top c b a null

a进栈顺序为(1,23),出栈顺序能否为(3,1,2)? 口不能,3出栈时,说明2和1都在栈里,而且2必须 先于仙出栈 top→ 321 作业: 1,2,3,4,5,6依次进栈,若出栈顺序为2,3,4,6,5,1 则栈大小至少为多少?
栈 ◼ 进栈顺序为(1,2,3),出栈顺序能否为(3,1,2)? 不能,3出栈时,说明2和1都在栈里,而且2必须 先于1出栈 6 3 2 1 top 作业: 1,2,3,4,5,6依次进栈,若出栈顺序为2,3,4,6,5,1 则栈大小至少为多少?

桤的应用:表达式求值 个表达式由操作数亦称运算对象)、操作符 亦称运算符)和分界符组成。 算术表达式三种表示 a中缀(nfx表示 ,如A+B; 前缀( prefix)表示 ,如+AB 后缀( postfix表示 ,如AB+;
栈的应用:表达式求值 ◼ 一个表达式由操作数(亦称运算对象)、操作符 (亦称运算符) 和分界符组成。 ◼ 算术表达式三种表示 中缀(infix)表示 ➢ ,如 A+B; 前缀(prefix)表示 ➢ ,如 +AB; 后缀(postfix)表示 ➢ ,如 AB+; 7

桤的应用:表达式求值 n中缀表达式:A+B*(c-D)-E/F n后缀表达式:ABcD-*+EF|- 表达式中相邻两个操作符的计算次序为: 口优先级高的先计算; 优先级相同的自左向右计算; 口当使用括号时从最内层括号开始计算。 前缀和中缀表达式求值需要两个栈;后缀表达 式求值只需一个栈,相对简单些
栈的应用:表达式求值 ◼ 中缀表达式:A + B * ( C - D ) - E / F ◼ 后缀表达式:A B C D - * + E F / - ◼ 表达式中相邻两个操作符的计算次序为: 优先级高的先计算; 优先级相同的自左向右计算; 当使用括号时从最内层括号开始计算。 ◼ 前缀和中缀表达式求值需要两个栈;后缀表达 式求值只需一个栈,相对简单些。 8

栈的应用:表达式求值 从左向右扫描表达式,用一个栈暂存扫描到的 操作数或计算结果。 后缀表达式的计算顺序中已隐含了加括号的优 先次序,括号在后缀表达式中不出现 中缀表达式: 后缀表达式: A+B(C-D)-E/F ABCD一+EF/ R1 R R R R
栈的应用:表达式求值 ◼ 从左向右扫描表达式,用一个栈暂存扫描到的 操作数或计算结果。 ◼ 后缀表达式的计算顺序中已隐含了加括号的优 先次序,括号在后缀表达式中不出现 9 R1 R2 R3 R4 R5 A B C D - * + E F / - R1 R2 R3 R4 R5 A+B*(C-D)-E/F 中缀表达式: 后缀表达式:

作业: 写出下列中缀表达式的后缀表达式 1. AB*C 2. -A+B-C+D 3.A(B)+C 4.(A+B D+E/(F+AD)+C 5.A&&B‖(E>F) 6.!(A&&!(BD))‖!(C<E) 10
10 作业: 写出下列中缀表达式的后缀表达式 1. A*B*C 2. -A+B-C+D 3. A*(-B)+C 4. (A+B)*D+E/(F+A*D)+C 5. A&&B||!(E>F) 6. !(A && !((BD))) || (C<E)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:An Efficient Trie-based Method for Approximate Entity Extraction with Edit-Distance Constraints.pptx
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 5 互斥与同步(Mutual Exclusion and Synchronization)5.4 Monitors 5.5 Message Passing 5.6 Readers/Writers Problem.ppt
- 上海交通大学:《程序设计》课程教学资源(PPT课件讲稿)第6章 过程封装——函数.ppt
- 《3ds Max》教学资源(PPT课件)第4章 基本三维模型的创建.ppt
- 南京大学:复杂系统学习(PPT课件讲稿)佩特里网 Petri Nets.pptx
- 香港科技大学:《软件开发》教学资源(PPT课件讲稿)Functions.ppt
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第二章 Windows XP操作系统.ppt
- 电子科技大学:《计算机操作系统》课程教学资源(PPT课件讲稿)第五章 设备管理.ppt
- 山东大学:语音识别技术(PPT课件讲稿)自动语音识别 Automatic Speech Recognition.pptx
- 数据集成 Data Integration(PPT讲稿)成就与展望 Achievements and Perspectives.ppt
- 北京师范大学:拓扑序及其量子相变(PPT课件讲稿)Topological Order and its Quantum Phase Transition.ppt
- 计算机系教学资源(PPT课件讲稿)信息安全与保密技术.ppt
- 汤姆森 Thomson:利用Web of Knowledge对课题进行检索、分析、跟踪、管理.ppt
- 西安电子科技大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第九章 定时/计数器8253.pptx
- 同济大学:聚类分析(PPT课件讲稿)Cluster Analysis.pptx
- 《数字图像处理学》课程教学资源(PPT课件讲稿)第2章 图像、图像系统与视觉系统.pptx
- 四川大学:《软件测试与维护基础教程》课程教学资源(PPT课件讲稿)软件测试工具 Software Testing Tool.ppt
- B-树、散列技术、散列表的概念、散列函数的构造方法、处理冲突的方法、散列表上的运算.ppt
- 南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)对象序列化和持久化 Object Serialization and Persistence.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第十章 下一代因特网.ppt
- 《计算机网络与因特网 Computer Networks and Internets》课程教学资源(PPT课件讲稿)Part II 物理层(信号、媒介、数据传输).ppt
- 合肥工业大学:《网络安全概论》课程教学资源(PPT课件讲稿)第2讲 密码学简介(主讲:苏兆品).ppt
- 长春大学:《计算机应用基础》课程教学资源(PPT课件讲稿)第一章 计算机基础知识(崔天明).ppt
- 《Java网站开发》教学资源(PPT讲稿)第9章 过滤器和监听器技术.ppt
- 北京师范大学现代远程教育:《计算机应用基础》课程教学资源(PPT课件讲稿)第2章 计算机网络应用.ppsx
- 清华大学:A Feature Weighting Method for Robust Speech Recognition(Speech Activities in CST).ppt
- 西安电子科技大学:《神经网络与模糊系统》课程教学资源(PPT课件讲稿)Chapter 6 结构和平衡 Architecture and Equilibria.ppt
- 北京大学:人工神经网络(PPT课件讲稿)Artificial Neural Networks,ANN.ppt
- 《计算机组成原理》课程教学资源(PPT课件讲稿)第4章 处理器(CPU).ppt
- 吉林大学:《C语言》课程教学资源(PPT课件讲稿)第6章 利用数组处理批量数据.ppt
- 《Vb程序设计教程》课程教学资源(PPT课件讲稿)第三章 VB语言基础.pps
- 安徽理工大学:《汇编语言》课程教学资源(PPT课件讲稿)第七章 高级汇编语言技术(主讲:李敬兆).ppt
- 《软件质量与测试》课程教学资源(PPT大纲课件,目录版).pptx
- 香港理工大学:Discovering Classification Rules.ppt
- 北京科技大学:物联网知识体系和学科建设(PPT讲稿,王志良).ppt
- 中国科学技术大学:《信号与图像处理基础 Signal and Image Processing》课程教学资源(PPT课件讲稿)傅里叶分析与卷积 Fourier Analysis and Convolution.pptx
- 沈阳理工大学:《单片机C语言应用程序设计》课程PPT教学课件(单片机C语言编程)04 C51编程设计(廉哲).pptx
- 《软件工程 Software Engineering》教学资源:课程教学大纲.pdf
- 上海交通大学:《编译器构造》课程教学资源(PPT讲稿,马融)Compiler.pptx
- 《数字图象处理》课程教学资源(PPT课件讲稿)第七章 邻域运算.ppt