主要内容 知识点 栈与队列的特征 栈与递归 循环队列 重点难点 栈的操作 递归 循环队列 栈与队列的综合应用 内容安排 3.1 栈的类型定义 3.2 栈类型的实现 3.3 栈的应用举例 3.4 队列的类型定义 3.5 队列类型的实现 栈(stack)的类型定义 栈 是操作受限制的线性表 定义:仅在表尾进行插入或删除操作的线性表; 概念: 栈顶:在栈顶操作,是表尾,通常用top表示 ; 栈底:bottom,是表头; 空栈: 空表; 通常栈底固定,栈顶移动。 栈(stack)示意图 栈操作示例(1/2) 栈操作示例(1/2) 3.1 栈的类型定义 内容安排 3.1 栈的类型定义 3.2 栈类型的实现 顺序栈 链栈 3.3 栈的应用举例 3.4 队列的类型定义 3.5 队列类型的实现 栈的顺序存储表示 InitStack在顺序栈中的实现 Push在顺序栈中的实现 Pop在顺序栈中的实现 链栈 内容安排 3.1 栈的类型定义 3.2 栈类型的实现 3.3 栈的应用举例 3.4 队列的类型定义 3.5 队列类型的实现 例一 数制转换 算法基于原理: N = (N div d)×d + N mod d 例如:(1348)10 = (2504)8 ,其运算过程如下: 编程实现 例二、 括号匹配的检验 假设在表达式中正确的格式为: ([]())或[([ ][ ])] 不正确的格式为 [( ])或([( ))或 (()]) 则 检验括号是否匹配的方法可用“期待的急迫程度”这个概念来描述。 用期待的急迫程度描述括号匹配 即后出现的“左括弧”,它等待与其匹配的“右括弧”出现的“急迫”心情要比先出现的左括弧高 对“左括弧”来说,后出现的比先出现的“优先”等待检验 对“右括弧”来说,每个出现的右括弧要去找在它之前“最后”出现的那个左括弧去匹配 显然,必须将先后出现的左括弧依次保存,为了反映这个优先程度,保存左括弧的结构用栈最合适 这样对出现的右括弧来说,只要栈顶元素相匹配即可。如果在栈顶的那个左括弧正好和它匹配,就可将它从栈顶删除 算法的设计思想 1)凡出现左括弧,则进栈; 2)凡出现右括弧 首先检查栈是否空若栈空,则表明该“右括弧”多余 否则和栈顶元素比较,若相匹配,则“左括弧出栈” , 否则表明不匹配。 3)表达式检验结束时,若栈空,则表明表达式中匹配正确, 否则表明“左括弧”有余。 编程实现 内容安排 3.1 栈的类型定义 3.2 栈类型的实现 3.3 栈的应用举例 3.4 队列的类型定义 3.5 队列类型的实现 队列(Queue)的定义 队列:队列是一种只允许在表的一端插入,在另一端删除的存取受限的线性表。 概念: 队尾rear: 插入端,线性表的表尾。 队头front:删除端,线性表的表头 队列(Queue)图示 FIFO(First In First Out)(先进先出表) 队列举例 例如,在一个局域网上有一台共享的网络打印机,网上每个用户都可以将数据发送给网络打印机进行输出 为了保证不丢失数据,操作系统为网络的打印机生成一个作业队列“ 每个申请输出的“作业”应按先来后到的顺序排队 打印机从作业队列中逐个提取作业进行打印 队列的类型定义 队列的基本操作 内容安排 3.1 栈的类型定义 3.2 栈类型的实现 3.3 栈的应用举例 3.4 队列的类型定义 3.5 队列类型的实现 链队列——链式映象 循环队列——顺序映象 链队列——链式映象 用链表表示的队列简称为链队列。 为便于操作,一个链队列需要分别指示队头和队尾的两个指针 链队示意图 链队列的定义 InitQueue在链队列中的实现 EnQueue在链队列中的实现 DeQueue在链队列中的实现 循环队列——顺序映象 队列的顺序表示 约定队头指针指向队列头元素,队尾指针指向队尾元素的下一个位置 循环队列 循环队列操作示意图 循环队列的状态问题 空队列条件: Q.rear = Q.front; 满队列条件: Q.rear = Q.front; InitQueue在循环队列中的实现 求队中元素个数 int SeQueueLength(SeQueue Q) {∥返回队列Q的元素个数 return (Q.rear- Q.front+MAXSIZE)%MAXSIZE; } EnQueue在循环队列中的实现 DeQueue在双链表中的实现 本章学习要点 1. 掌握栈和队列类型的特点,并能在相应的应用问题中正确选用它们。 2. 熟练掌握栈类型的两种实现方法,特别应注意栈满和栈空的条件以及它们的描述方法 3. 熟练掌握循环队列和链队列的基本操作实现算法,特别注意队满和队空的描述方法。 问题:如何区别队空和队满 有三种方法
您可能关注的文档
- 矿产勘查学复习题(桂工专用)概念.doc
- 汽油罐区TK101、102大体积混凝土施工方案概念.doc
- 砌体分包合同概念.doc
- 矿井采掘工作面瓦斯治理方案概念.doc
- 矿井防治水管理制度(修改)1概念.doc
- 第三章电解质沉淀水解技术总结.ppt
- 砌体结构复习题概念.doc
- 矿井火灾危害及其防治技术概念.doc
- 砌体结构练习题及参考概念.doc
- 矿井节假日停产和恢复生产安全技术措施概念.doc
- 初中九年级英语Unit 13环境保护主题听说整合教学设计.docx
- 85分式方程及其解法课件人教版数学八年级上册.pptx
- 基于核心素养的博物馆主题说明文写作教学设计与实施——以九年级英语为例.docx
- 53一次函数的意义第课时课件浙教版八年级数学上册.pptx
- 大单元视角下“人民民主政权的巩固”与历史关键能力进阶教学设计——以初中历史中考复习课为例.docx
- 五年级数学下册典型例题解析人教版期末重点攻克.pptx
- 小学四年级信息技术《智启信息时代:查找网上信息的基石》教学设计及反思.docx
- 大疆域·大人口·大战略:中国国家空间认知的初步建构.docx
- 人教版(一年级起点)小学英语四年级上册Revision 1 Lesson 2教学设计.docx
- 大单元结构化复习:旧民主主义革命时期(18401919)的内忧外患与救亡图存.docx
原创力文档

文档评论(0)