1、“.....在中缀表达式中操作符的优先级和括号使得求职过程复杂化,把它转换成后缀表达式,可简化求值过程。为了实现这种转换,需要考虑各操作符的优先级,参看表。表各个算术操作符的优先级操作符叫做栈内优先数,叫做栈外优先数。从表中可以看到,左括号的栈外优先数最高,它来到立即进栈,但当它进入栈中后,其栈内优先数变得极低,以便括号内的其他操作符进栈。其他操作符进入栈中后优先数都升,这样可体现在中缀表达式中相同优先级的操作符自左向右计算的要求,让位于栈顶的操作符先退栈并输出。操作符优先数相等的情况只出现在括号配对或栈底的号与输入流最后的号配对时。前者将连续退出位于栈顶的操作符,直到遇到为止。然后将退栈以对消括号,后者将结束算法......”。
2、“.....将它转换为后缀表达式的算法描述如下栈初始化,将结束符进栈。然后读入中缀表达式字符流的首字符。重复执行以下步骤,直到,同时栈顶的操作符也是,停止循环。若是操作数直接输出,读入下个字符。若是操作符,判断的栈外优先级和当前位于栈顶的操作符的栈内优先级若,令进栈,读入下个字符。若,退栈并输出。若,退栈但不输出,若退出的是号读入下个字符。算法结束,输出序列即为所需的后缀表达式。例如,给定中缀表达式为后的初始界面如图所示输出结束输出比较与是操作数输入输入开始是否图若表达式正确,如输入,按下回车键,结果如图所示图此时表达式已被检测为正确,则将它转换成后缀表达式,结果如图所示图输入,不结束,在输入个的中缀表达式,如图所示图总结致谢参考文献殷人昆......”。
3、“.....徐孝凯编著数据结构实用教程描述北京清华大学出版社,朱站立编数据结构使用语言先西安西安电子科技大学出版社,陈慧南编数据结构使用语言描述南京东南大学出版社,王晓东编数据结构与算法设计北京电子工业出版社,指导教师评语学号姓名班级选题名称表达式翻译序号评价内容权重得分考勤记录学习态度工作作风与表现。自学情况上网检索机时数文献阅读情况笔记。论文选题是否先进,是否具有前沿性或前瞻性。成果验收是否完成设计任务能否运行可操作性如何等。报告的格式规范程度是否图文并茂语言规范及流畅程度主题是否鲜明重心是否突出论述是否充分结论是否正确是否提出了自己的独到见解。文献引用是否合理充分真实......”。
4、“.....合计指导教师签章年月日,应当转换成,按上述算法应执行的转换过程包括栈的变化和输出如图所示。步扫描项项类型动作栈的变化输出进栈操作数操作符,退栈,退栈操作符,退栈,退栈,退栈,退栈结束图利用栈的转换过程中缀表达式转换成后缀表达式的算法把中缀表示转换成后缀表示并输出之定义栈的对象栈底放了个读入个字符,连续处理是操作数,输出之新输入操作符优先级低退栈并输出该算法对输入表达式只进行次自左向右的扫描,对每个操作数只执行次输出,其执行时间为。对每个操作符,执行进栈和退栈各次,其时间也为。若设表达式中符号的总数为,则总的执行时间复杂度为。栈内优先级算法栈内优先级栈外优先级算法栈外优先级流程图图调试与操作说明运行式......”。
5、“.....程序原理栈是最常用和最重要的数据结构。局部变量是放在栈中的,表达式的优先级处理也是基于栈来实现的,函数调用时的参数传递和函数值的返回都是由栈来实现的。栈是限制在表的端进行插入和删除的线性表即维数组。允许插入删除的端为栈顶,另固定端为栈底。当表中没有元素时称为空栈。如图所示,栈中有三个元素,进栈的顺序是,当需要出栈时其顺序为。所以栈又称为后进先出的线性表,简称表。在日常生活中,有很多后进先出的例子。在程序设计中,常常需要使得与保存数据时相反顺序来使用这些数据,这时就需要用个栈来实现。对于栈,常做的基本运算有栈初始化出栈入栈图初始条件栈不存在操作结果构造了个空栈。判断栈空初始条件栈已存在操作结果若栈为空栈返回为......”。
6、“.....初始条件栈已存在操作结果在栈的顶部插入个新元素,成为新的栈顶元素。栈发生变化。出栈初始条件栈存在且非空操作结果栈的顶部元素从栈中删除,栈中少了个元素。栈发生变化。读栈顶元素初始条件栈存在且非空操作结果栈顶元素作为结果返回,栈不变化。栈可以用顺序表实现,称为顺序栈也可以用链表实现,称为链栈。顺序栈和链栈的逻辑功能样。顺序栈必须先开定大小的内存空间,执行起来简单并且速度快,但可能溢出链栈的内存空间随用随开,不会溢出但执行复杂不断地动态分配且速度慢。详细设计和实现模块功能定义个顺序栈类,首先构造个空栈,包含的操作有进栈,出栈,取栈顶元素,判栈空否。利用这个顺序栈对中缀表达式进行检测,若出错主要为括号比匹配,给出出错提示否则......”。
7、“.....表达式检测函数,实现对表达式中的括号进行匹配检验。算术表达式中右括号和左括号匹配的次序正好符合后到括号要最先被匹配的后进先出栈操作特点,因此可以借助个栈来进行判断。表达式转换函数,当表达式正确时,利用此函数将中缀表达式转换成对应的后缀表达式。将中缀表达式转换成后缀表达式过程中,要注意的是先减然后去元素返回取栈顶数据元素栈已空返回当前栈顶元素举例说明,在个字符串中位置和位置有左括号,位置和位置有右括号。位置的左括号匹配位置的右括号,位置的左括号匹配位置的右括号。而对于字符串,位置的右括号没有可匹配的左括号,位置的左括号没有可匹配的右括号。我们的目的是建立个算法,输入个字符串,输出括号匹配的信息......”。
8、“.....因此可以借助个栈来进行判断。括号匹配共有四种情况左右括号配对次序不正确右括号多于左括号左括号多于右括号左右括号匹配正确。具体方法是顺序扫描算术表达式表现为个字符串,当遇到三种类型的左括号时,让该括号进栈当扫描到种类型的右括号时,比较当前栈顶括号是否与之匹配,若匹配,则退栈,继续进行判断若当前栈顶括号与当前扫描的括号不相同,则左右括号配对次序不正确若字符串当前为种类型左括号而栈已空,则右括号多于左括号字符串循环扫描结束时,若栈非空即粘中尚有种类型左括号,则说明左括号多于右括号否则,左右括号匹配正确。函数设计如下,判断有个字符串左右括号是否配对正确定义顺序栈类对象入栈出栈,左右括号配对次序不正确......”。
9、“.....直接入栈,在遇到时候,找到最后进入的,并把前面所有的符号都压入出栈。由于在表达式转换过程中,需要比较新读入元素与当前栈顶元素的优先级,所以,需要定义两个优先级函数栈外优先级函数和栈内优先级函数。算法原理栈的抽象数据类型有两种典型的存储表示基于数组的存储表示和基于链表的存储表示。基于数组的存储表示实现的栈称为顺序栈,基于链表的存储表示实现的栈称为链栈。顺序栈可以采用顺序表作为其存储表示,为此,可以在顺序栈的声明中用顺序表定义它的存储空间。本次课程设计中,实用维数组作为栈的存储空间。存放栈元素的数组的头指针为,该数组的最大允许存放元素个数为,当前栈顶位置由数组下标指针指示。如果栈不空时,是栈中第个元素......”。
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。