- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
24李后浪课程设计报告书
编 号:
学 号: 201240420224
课 程 设 计
教 学 院 计算机学院 课程名称 数据结构与算法课程设计 题 目 算术表达式求值 专 业 网络工程 班 级 2012级网络工程2班 姓 名 李后浪 同组人员 梅锟、刘小虎、丁兵武 指导教师 邓丹君
2013 年 12 月 28 日
课程设计任务书
2013 ~2014 学年第 1 学期
学生姓名: 李后浪 专业班级: 网络工程(2)班
指导教师: 邓丹君 工作部门: 计算机学院
一、课程设计题目
算术表达式求值
二、课程设计内容
输入一个算术表达式,其中操作数必须为实数,运算符包括加、减、乘、除、小(圆)括号,试编写程序实现:
(1)生成表达式二叉树;
(2)根据表达式二叉树求表达式的值;
(3)先序遍历表达式二叉树;根据先序遍历序列(波兰式)求表达式的值;
(4)中序遍历表达式二叉树,要求恢复必要的括号;
(5)后序遍历表达式二叉树,根据后序遍历序列(逆波兰式)求表达式的值;
三、进度安排
1. 系统设计,确定函数功能及其实现过程;
2. 根据前面的结果,编写程序清单,进行调试;
3. 经过反复的编译,调试,测试,程序运行成功;
4. 撰写课程设计报告,完成整个论文报告的工作,并打印;课题答辩。
四、基本要求
1.界面友好,函数功能要划分好
2.总体设计应画一流程图
3.程序要加必要的注释
4.要提供程序测试方案
5.程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的
目 录
目 录 2
一 概述 3
二 总体方案设计 4
三 详细设计 5
四 程序的调试与运行结果说明 5
五 课程设计总结 30
参考文献 32
一 概述
课程设计的目的
1.理解和掌握该课程中的有关基本概念,程序设计思想和方法。
2.培养综合运用所学知识独立完成课题的能力。
3.培养勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
4.掌握从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
课程设计的要求
1)需要的基本知识与技能:
入栈、出栈操作;
二叉树的先序、中序、后序遍历;
根据表达式求值;
2)尚未掌握的知识点,需要查阅相关资料:
(1)根据中缀表达式构造树;
(2)根据算术表达式生成表达式二叉树;
(3)根据波兰式求表达式的值;
(4)根据逆波兰式求表达式的值;
5)教师对本题目所提出的要求等。
(1).界面友好,函数功能要划分好;
(2).总体设计应画一流程图;
(3).程序要加必要的注释;
(4).要提供程序测试方案;
(5).程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
3.课程设计的内容
输入一个算术表达式,其中操作数必须为实数,运算符包括加、减、乘、除、小(圆)括号,试编写程序实现:
(1)生成表达式二叉树;
(2)根据表达式二叉树求表达式的值;
(3)先序遍历表达式二叉树;根据先序遍历序列(波兰式)求表达式的值;
(4)中序遍历表达式二叉树,要求恢复必要的括号;
(5)后序遍历表达式二叉树,根据后序遍历序列(逆波兰式)求表达式的值;
二 总体方案设计
(本次设计在具体设计过程中的整体设计思路,算法的整体思路、主要特点,具备功能。你所承担部分的设计工作,主要解决的关键性问题)
1.整体设计思路:
(1)输入一个算术表达式生成一颗二叉树;
(2)根据这个表达式二叉树求表达式的值;
(3)先序遍历表达式二叉树;根据先序遍历序列(波兰式)求表达式的值;
(4)中序遍历表达式二叉树,要求恢复必要的括号;
(5)后序遍历表达式二叉树,根据后序遍历序列(逆波兰式)求表达式的值。
2.算法的整体思路:
实现栈与树的结合,将字符入栈,设置两个栈,一个栈装操作数,一个装操作符。装操作树的栈设置一个函数判断操作符的优先级。设置结点类,结点类是操作符,且具有结点的左子树也是操作符,比较操作符的优先级再进行算术运算,求表达式的值。
3.主要特点:
栈与树结合,程序里包括结点、树类、栈。
4.具备功能:
(1)程序能够生成一颗表达式二叉树;
(2)根据这个表达式二叉树求表达式的值。
(3)先序遍历表达式二叉树;根据先序遍历序列(波兰式)求表达式的值;
(4)中序遍历表达式二叉树,要求恢复必
文档评论(0)