- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构:栈的原理的与应用
主要内容 栈的定义 顺序栈 链栈 栈的应用举例 课堂作业 一、栈的定义 2、栈的逻辑结构 3、入栈与出栈 4、 栈的基本操作 ?初始化 IniStack(S): 构造一个空栈S,准备存放数据; 进栈操作 Push(S,x): 将数据元素x插入栈S,使x成为S的栈顶元素; 出栈操作 Pop(S): 当栈不空时返回栈顶元素为该函数的值,然后删除栈顶元素; 取栈顶元素 GetTop(S): 当栈不空时返回栈顶元素为该函数的值,但栈顶保持不变; 判栈空 EmptyStack(S): 若S为空栈则该函数值为1,否则为0。 二、栈的顺序存储结构 四、栈的应用举例 实现数制转换 表达式求值 (2)算术表达式求值 中缀式求值的算法 运算符和界限符统称为算符。根据算术四则运算的规则(即中缀式的运算规则),任两个相继出现的算符θ1和θ2之间的优先关系至多是下面三种关系之一: θ1 θ2 θ1的优先权低于θ2 θ1 =θ2 θ1的优先权等于θ2 θ1 θ2 θ1的优先权高于θ2 操作符优先级表 求表达式算法 算法需两个栈。一个是运算符栈(OPTR) ;另一个是操作数或运算结果栈(OPND) 。算法的基本思想是: (1)首先置操作数栈为空栈;为了使表达式中第一个运算符能够进栈,首先将一个优先权最低的运算符‘#’压入运算符栈中成为其栈底。 (2)从左向右依次读出表达式中的每一个字符, ①若为操作数,则将其压入操作数栈中,接着读出下一个字符; ②若为运算符,则和运算符栈的栈顶运算符比较优先权: ⅰ 如果读出的运算符的优先权高于运算符栈栈顶运算符的优先权,则将其压入运算符栈中,接着读出下一个字符; ⅱ 如果读出的运算符的优先权等于运算符栈栈顶运算符的优先权(即左右括号相遇),则从运算符栈中退出一个运算符(即左括号); ⅲ 如果读出的运算符的优先权低于运算符栈栈顶运算符的优先权,则从操作数栈连续退出两个操作数(先退出的是第二操作数,后退出的是第一操作数),从运算符栈中退出一个运算符,然后作相应的运算,并将运算结果压入操作数栈中。 例如:表达式3*(7-2),求值过程如下表: 解题的思路 当老鼠走到某个位置,前面没有路可走时,怎么办?要沿着老路回去。退回到哪里呢?退回到刚走的位置。这正好符合栈的特征,最近的最先出来。 需要解决的几个问题 迷宫如何表示? 位置如何保存在栈里? 如何确定当前位置是否有出路? 如何表示已经走过的位置? 谢谢,请批评指正。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 第*页 目录 高等学校教师资格认定2011 数据结构 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 栈是限定仅能在表尾一端进行插入、删除操作的线性表 (a1, a2, ... , ai -1, ai , ai+1, …, an ) 插入 删除 1.??? 什么是栈 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 第一个进栈的元素在栈底,最后一个进栈的元素在栈顶, 不含元素的栈称为空栈。 出栈 Pop 进栈 Push 栈顶 栈底 top bottom 空栈 top bottom an . . . a2 a1 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. bottom top bottom top A A B
您可能关注的文档
- 政治经济学简答题与的论述题.doc
- 政治考研试题2008-2的011.ppt
- 政治试题评价报告的.doc
- 政治试题变式训练的.ppt
- 政治高考复习题的.ppt
- 政治高考热点复习建的议.ppt
- 政治:4.10.2《思想的道德修养与科学文化修养》课件(新人教版必修3).ppt
- 政治:《政治生活》的第三单元典型试题课件134.ppt
- 政治:《科学思维常的识》试题 课件(新人教选修4).ppt
- 政治:论述题的答题的方法与技巧(课件).ppt
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)