- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三实验报告
1120131317 周任然
1、简易计算器
(1)问题描述
由键盘输入一算术表达式,以中缀形式输入,试编写程序将中缀表达式转换成一棵二叉表达式树,通过对该的后序遍历求出计算表达式的值。
(2)基本要求
a.要求对输入的表达式能判断出是否合法。不合法要有错误提示信息。
b.将中缀表达式转换成二叉表达式树。
c.后序遍历求出表达式的值
(3)数据结构与算法分析
一棵表达式树,它的树叶是操作数,如常量或变量名字,而其他的结点为操作符。
a.建立表达式树。二叉树的存储可以用顺序存储也可用链式存储。当要创建二叉树时,先从表达式尾部向前搜索,找到第一个优先级最低的运算符,建立以这个运算符为数据元素的根结点。注意到表达式中此运算符的左边部分对应的二叉绔为根结点的左子树,右边部分对应的是二叉绔为根结点的右子树,根据地这一点,可用递归调用自己来完成对左右子树的构造。
b.求表达式的值。求值时同样可以采用递归的思想,对表达式进行后序遍历。先递归调用自己计算左子树所代表的表达式的值,再递归调用自己计算右子树代表的表达式的值,最后读取根结点中的运算符,以刚才得到的左右子树的结果作为操作数加以计算,得到最终结果。
(4)需求分析
程序运行后显示提示信息,输入任意四则运算表达式,倘若所输入的表达式不合法程序将报错。
输入四则运算表达式完毕,程序将输出运算结果。
测试用的表达式须是由+、-、*、/运算符,括号“(”、“)”与相应的运算数组成。运算数可以是无符号浮点型或整型,范围在0~65535。
(5)概要设计
二叉树的抽象数据类型定义
ADT BinaryTree{
数据对象:表达式运算数 { num | 0 num 65535 }
表达式运算符 { opr | + , - , * , / }
数据关系:由一个根结点和两棵互不相交的左右子树构成,且树中结点具有层次关系。根结点必须为运算符,叶子结点必须为运算数。
基本操作:
InitBiTree(T , S)
初始条件:存在一四则运算前缀表达式S。
操作结果:根据前缀表达式S构造相应的二叉树T。
DestroyBiTree(T)
初始条件:二叉树T已经存在。
操作结果:销毁T。
Value(T)
初始条件:二叉树T已经存在。
操作结果:计算出T所表示的四则运算表达式的值并返回。
}ADT BineryTree
顺序栈的抽象数据类型定义
ADT Stack{
数据对象:具有相同类型及后进先出特性的数据元素集合。
数据关系:相邻数据元素具有前去和后继关系。
基本操作:
InitStack(S)
初始条件:无
操作结果:构造一个空栈S。
DestroyStack(S)
初始条件:栈S已经存在。
操作结果:销毁S。
StackLength(S)
初始条件:栈S已经存在。
操作结果:返回S中元素个数。
GetTop(S , e)
初始条件:栈S已经存在且非空。
操作结果:用e返回S的栈顶元素。
Push(S , e)
初始条件:栈S已经存在。
操作结果:插入元素e为S的新栈顶元素。
Pop(S , e)
初始条件:栈S已经存在且非空。
操作结果:删除S的栈顶元素,并用e返回其值。
}ADT Stack
字符串的抽象数据类型定义
ADT String{
数据对象:具有字符类型的数据元素集合。
数据关系:相邻数据元素具有前驱和后继关系。
基本操作:
StrLength(S)
初始条件:串S已经存在。
操作结果:返回S的元素个数。
StrNeg(S
您可能关注的文档
- 实施创新驱动战略精要.ppt
- 实施性施工组织设计拟上报精要.doc
- 实时数字信号处理概述精要.ppt
- 实体联系模型(ER)精要.ppt
- 实务考试试题答案解析()精要.ppt
- 实习报告niu精要.doc
- 实习报告单片机抢答器设计精要.doc
- 实习报告精要.doc
- 实习报告南扩区—层作业规程(修改)精要.doc
- 实习讲座三非监督分类精要.ppt
- 2025年扎兰屯市卫健系统“归雁计划”回引人才笔试高频难、易错点备考题库及参考答案详解.docx
- 2025年山西省文物局所属事业单位招聘工作人员笔试备考题库及参考答案详解1套.docx
- 2025年民族出版社面向应届生招聘事业编制专业技术人员笔试备考题库及参考答案详解.docx
- 2025年当阳市公安局招聘警务辅助人员30人笔试备考题库及答案详解1套.docx
- 2025年水利部珠江水利委员会所属事业单位第二批招聘笔试高频难、易错点备考题库及参考答案详解.docx
- 2025年成就江来”浙江省衢州市衢江区综合事业单位招聘优秀应届生(二)笔试备考题库带答案详解.docx
- 2025年山东青岛市卫生健康委员会直属事业单位校园招聘807人笔试备考题库及完整答案详解1套.docx
- 2025年广西百色市西林县民政局招聘4人笔试备考题库及完整答案详解1套.docx
- 2025年广东省特种设备检测研究院揭阳检测院第一批招聘笔试备考题库及答案详解1套.docx
- 2025年江苏南京大学全球人文研究院准聘长聘岗位招聘笔试高频难、易错点备考题库参考答案详解.docx
最近下载
- 专题01 定语从句100题(考点串讲)(word版有答案).docx VIP
- 凿井井架设计汇编.doc VIP
- 北京某电力隧道工程投标施工组织设计.doc VIP
- 《【阅读专题2】故物与深情:感受血缘中的亲情》教学课件.pptx VIP
- 人教版九年级英语 课文标注笔记 全册.pdf VIP
- 北京某电力隧道工程(投标)施工组织设计.pdf VIP
- 高压旋喷桩技术交底1 - 桩基础.docx VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 《【阅读专题1】忠与孝:体会宗法社会的伦理选择之难》教学课件 (1).pptx VIP
- 力普LP100说明书PDF_Image_Marked.pdf VIP
文档评论(0)