- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京化工大学信息学院 数据结构 栈 ( Stack ) 八进制数、括号匹配、行编辑程序、迷宫、表达式求值、出栈合法性 队列 ( Queue ) 杨辉三角 栈的主要操作 表达式计算问题 计算由常数和二元运算符、括号组成的四则运算表达式 表达式计算问题——算符优先级算法 设可用运算符有+-*/(),定义#作为起始和结束运算符 根据运算符优先级构造优先级表M[n][n],其中n为可用运算符个数(包括#),M[i][j]的意义为当运算符Oi遇到运算符Oj时,Oi是否可以运算,可以运算则记为OiOj,否则记为OiOj,特殊情况另记。 表达式计算问题 以+、-、*、/、(、)为例,优先级表如下所示: 表达式计算问题 算法如下: 队列 ( Queue ) 队列的主要操作 队列的链接表示 — 链式队列 * 定义 ●只允许在一端插入和删除的线性表; ●允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。 特点 后进先出 (LIFO) 栈 ( Stack ) 退栈 进栈 a0 an-1 an-2 ? top bottom ADT Stack { //对象:由数据类型为StackData的元素构成 void push (StackData x); //进栈 void pop (); //出栈 StackData top (); //取栈顶 bool isEmpty (); //判栈空否 bool isFull (); //判栈满否(顺序栈) } top 空栈 top top top top top a 进栈 b 进栈 a a b a b c d e e 进栈 a b c d e f 进栈溢出 a b d e e 退栈 c top c 退栈 b 退栈 a b a a 退栈 空栈 top a b d d 退栈 c top a b c top top 栈的链接表示 — 链式栈 链式栈无栈满问题,空间可扩充 插入与删除仅在栈顶处执行 链式栈的栈顶在链头 适合于多栈操作 top 栈的应用举例 1— 八进制数 栈的应用举例 2— 括号匹配 {()()()()[][][]} 匹配 )))((( 不匹配 ({)} 不匹配 后出现的左括号先匹配 —— 栈 栈的应用举例 3— 行编辑程序 # 退格符 @ 退行符 switch(ch){ case #: s.pop(); break; case @: s.clear(); break; default: s.push(ch); break; } 栈的应用举例 4— 迷宫 到了一个位置,先往东走,走不通再顺时针换方向往南,西,北 栈的应用举例 4— 迷宫 求迷宫路径算法的基本思想是: 1、起点S入栈 2、反复执行以下步骤,直到栈为空,或者找到终点E (1)取栈顶m,标记m已被访问,根据m的方向找到下一个位置next; (2)如果next不是墙壁,也没有被访问过,将next入栈 (3)否则换方向继续找下一个位置 (4)4个方向都不能通过,出栈,回到第(1)步 3、找到终点E,迷宫走出 在找到终点E之前,栈空了,说明迷宫没有出去的路径 ((12.3-9)/2.2+(15+3.1)*0.3)/1.3 栈的应用举例 5— 四则表达式运算 a+b- 记:‘+’ ‘-’ a+b* 记:‘+’ ‘*’ a+( 记:‘+’ ‘(’ a+b) 记:‘+’ ‘)’ 栈的应用举例 5— 四则表达式运算 = X # X X X X X X ) X = ( / * - + # ) ( / * - + 栈的应用举例 5— 四则表达式运算 E1:设立运算符栈和操作数栈; E2:开始运算符#入栈,向表达式串尾添加结束运算符#; E3:逐词读入表达式,并处理: E31:若读入为操作数,则入栈; E32:若读入为运算符,则与栈顶运算符相比较: E321:重复E321,直到栈顶运算符优先级不高于读入运算符: 弹出运算符,弹出两个操作数,计算并将结果入栈; E322:若栈顶运算符优先级低于读入运算符, 则将读入运算符入栈; E323:若栈
您可能关注的文档
最近下载
- 行进间低手投篮教案.doc VIP
- (正式版)H-Y-T 250-2018 无居民海岛开发利用测量规范(正式版).docx VIP
- “增材制造项目”—第二届职业技能大赛甘肃省选拔赛—技能试卷(样题).pdf VIP
- 日照城市介绍PPT模板.pptx VIP
- DLT 5219-2023 架空输电线路基础设计规程.pdf VIP
- 附睾炎护理查房.pptx VIP
- 跨学科实践“用'水透镜'探究近视眼的形成原因”(教学课件)物理沪粤版2024八年级上册.pptx VIP
- 2025年新人教版语文八年级上册全册教学设计.docx
- 华为认证ICT工程师HCIA考试(习题卷5).pdf VIP
- 招商运营专员岗位面试题及答案.docx VIP
原创力文档


文档评论(0)