2013数据结构课设任务书
- 格式:doc
- 大小:767.00 KB
- 文档页数:34
数据结构课程设计任务书(13-14-1 网络1234) 《数据结构》课程设计任务书学期:13-14-1 班级:网络123、4一、设计目的《数据结构》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。
二、设计要求1、通过这次设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解。
同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。
2、学生必须仔细研读《数据结构》课程设计(实习)要求,以学生自学为主、指导教师指导为辅,认真、独立地完成课程设计的任务,有问题及时主动与指导教师沟通。
3、本次课程设计按照教学要求需要在三周时间内独立完成,学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时地向指导教师汇报。
4、编程语言任选。
三、设计选题说明:课程设计题目主要分为两大类:一是基础类题,主要是验证性题,少数是简单的综合性题,侧重考查学生对数据结构课程中重要数据结构和算法的理解与掌握程度,相对较简单;本类题目选题要求:要求个人所选题目必须独立完成;原则上不得参考别人的程序,若个人能力有限必须参考,参考成分不得超过30%,其中参考部分自己必须能消化吸收,否则视为无效;为培养学生分析问题、解决问题的实际动手能力和团队协作能力,鼓励有能力的学生尽可能选作难度较高的题目或第二类题目,故仅故仅选作第一类题目中一星题目的学生,无论完成多少题目,原则上最高分不超出75分;仅选作第一类题目中一星和二星题目的学生,无论完成多少题目,原则上最高分不超出85分;仅选作第一类题目中三星和四星题目的学生,无论完成多少题目,原则上最高分不超出92分;选择其他第一类题目中组合类题目的学生无论完成多少题目,原则上最高分不超出85分;二是提高类题,主要是设计性题,侧重考查学生综合能力,包括灵活利用所学知识(主要是数据结构和算法等相关知识)去分析问题、解决问题的实际动手能力以及团队协作精神和协调能力;题目相对较难,多数题目无现成算法,考验学生的创新能力和综合素质。
算法与数据结构课程设计任务书(2011级计算机科学与技术本科专业)题目:1.表达式转换问题;2.跳马问题。
学生姓名:姚孟斌学号:11240230 班级:2011级计算机科学与技术题目类型:软件工程(R)指导教师:王燕一.题目简介1.表达式转换问题。
请编写一个读取中缀表达式并生成后缀表达式的程序。
2.跳马问题。
要求在64个国际象棋格子,任意位置放一个马,如何不重复地把格子走完。
二、各题目的设计与实现要求1、查阅文献资料,一般在3篇以上;2、建立数据的逻辑结构和物理结构;3、完成相应算法的设计;4、完成程序的实现;5、完成测试工作;5、撰写设计说明书;6、做好答辩工作。
三、提交的成果1. 设计说明书一份,内容包括:1) 中文摘要100字;关键词3-5个;2) 序言;3)采用类c语言定义相关的数据类型4)各模块流程图及伪码算法5)函数的调用关系图6)调试分析a、调试中遇到的问题及对问题的解决方法;b、算法的时间复杂度和空间复杂度。
7)测试结果8)源程序(带注释)9) 设计总结、参考文献、致谢等。
2. 刻制光盘一张。
四、主要参考文献1 严蔚敏,吴伟民.《数据结构(C语言版)》.清华大学出版社.2 严蔚敏,吴伟民.《数据结构题集(C语言版)》.清华大学出版社.3 《DATA STRUCTURE WITH C++》. William Ford,William Topp.清华大学出版社(影印版).4 谭浩强.《c语言程序设计》. 清华大学出版社.5.数据结构与算法分析(Java版), A Practical Introduction to Data Structures and Algorithm Analysis Java Edition Clifford A. Shaffer , 张铭,刘晓丹译电子工业出版社2001 年1月五、各阶段时间安排(共3周)2013年6月30日。
《数据结构与算法分析》课程设计教学任务书一、课程设计的目的数据结构与算法课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。
数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。
学习数据结构与算法是为了将实际问题中涉及的对象在计算机中表示出来并对它们进行处理。
通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。
通过此次课程设计主要达到以下目的:了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
二、课程设计的基本要求1. 独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。
2. 做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。
3. 按照课程设计的具体要求建立功能模块,要求按照如下几个内容认真完成:1)需求分析:在该部分中叙述,所选课题的功能要求。
2)概要设计:在此说明所选课题的功能模块,以及每个功能模块的算法设计(可以是描述算法的功能模块图),所选课题的的数据结构以及其存储结构设计说明等。
(如果指定存储结构请写出该存储结构的定义)3)详细设计:针对2)中的主要功能模块,画出流程图,给出主要功能模块的流程图、算法及必要的文字说明)4)编码实现给出3)中主要功能模块的函数实现,重点是函数的声明,变量或参数的说明,以及程序的功能说明与注释,不必把所有代码都写上,主要写出其声明与注释等。
数据库原理课程设计任务书班级:学号:姓名:成绩:电子与信息工程学院计算机科学系目录1设计目的 ...............................................................................................................................错误!未定义书签。
2设计内容及安排 ...................................................................................................................错误!未定义书签。
3成绩评定 ...............................................................................................................................错误!未定义书签。
4设计要求 ...............................................................................................................................错误!未定义书签。
5指导教师职责 .......................................................................................................................错误!未定义书签。
6参考设计题目 .......................................................................................................................错误!未定义书签。
《数据结构》课程设计任务书《数据结构》课程设计任务说明一、题目及选题规定1、课程设计题目1)航空客运订票系统2)用二叉树实现家谱的相关运算3)电话客户服务模拟2、选题规定数据结构课程设计需独立完成1个选题内容。
1)~3)选题中任选一个。
二、课程设计进度安排1.问题分析和任务定义(3学时)内容:根据设计题目的要求,充分分析和理解问题,明确问题要求做什么(不是怎么做?),限制条件是什么。
要求:掌握问题分析的方法,以无歧义的陈述说明程序设计的任务;了解以用例图来明确系统功能的方法。
重难点:以无歧义的陈述说明程序设计的任务;对问题作透彻分析,避免出现需求分析错误。
说明:本阶段是解决“做什么”的问题,就是要全面理解用户的各项要求,并准确表达所接受的用户需求。
2.逻辑设计和数据结构的选择(3学时)内容:为操作对象定义相应的数据结构,以结构化程序设计的思想方法为原则划分各个模块,定义数据的抽象数据类型。
要求:掌握逻辑设计和数据结构选择的方法。
重难点:逻辑设计和数据结构选择。
说明:本阶段的主要任务是把需求分析得到得数据流图转换为软件结构和数据结构。
设计软件结构的具体任务是:将一个负责系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。
数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。
总体设计建立的是目标系统的逻辑模型,与计算机无关。
3.详细设计和编码(5个学时)内容:算法的具体描述和代码的书写要求:掌握在逻辑设计基础上作详细设计的方法把详细设计的结果进一步求精为程序设计语言程序。
同时加入一些注解和断言,使程序中逻辑概念清楚。
重难点:在逻辑设计基础上作详细设计并编码实现。
说明:本阶段主要任务是设计每个模块的实现算法、所需的局部数据结构。
详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。
4.上机调试(4个学时)内容:源程序的输入和代码的调试要求:能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。
数据结构课程设计任务书时间安排:18周周一:10点光波波长实验 4066月24日中午:12:00-15:0016点 F-H实验 503周二:6月25日 1点半补做PLANK常数测量实验 502 16点光纤传输实验(一) 304 周三:6月26日中午:12:00-15:0016点(补做完)PLANK常数测量实验 502周四:6月27日下午:15:00-18:00周六:6月29日晚上:18:00-21:0019周周二:7月2日晚上:18:00-21:00周四:7月4日上午:8:00-11:00一、课程设计的目的和要求通过课程设计的综合训练,系统地掌握数据结构课程的主要内容。
培养学生分析问题和解决问题的能力,提高学生的编程和动手能力,从而具备解决综合性实际问题的能力。
通过课程设计帮助学生系统掌握该门课程的主要内容,更好地完成教学任务。
二、实践内容及要求课程设计不同于教学实验,其覆盖的知识点的范围大,并且更加接近实际应用。
具体的实践内容包括线性表、栈和队列、树、图等数据结构以及排序、查找等算法的设计方法。
数据的保存和多文件的编程和使用,也是程序设计人员必备的知识。
因此,学生在完成课程设计的过程中,要求他们熟练掌握这些数据结构课程的重要基础知识,并学会灵活应用。
三、实践任务每个学生在以下的课程设计题目中进行选择,独立完成自己的任务并撰写报告,题目选定后不可更换。
任务中给出的是基本功能要求,学生可以根据自己的设计思路进行完善。
要求有良好的操作界面,每个系统组织到一个统一的界面中,且每个程序能够单独运行,输入合理的数据能够输出正确的结果,且操作可重复实现。
第一组:必做题,共计60分1.集合的并交差运算(队列)功能要求:(1)输入、输出集合;(2)集合元素的排序;(2)查询集合中的元素;(3)在集合中进行插入、删除元素;(4)实现集合的并、交、差运算。
2. 算术表达式求值(堆栈)功能要求:从键盘上输入中缀算术表达式,计算出表达式的值。
课程设计报告课程名称数据结构课题名称二叉树遍历演示专业网络工程班级网络工程1102学号 2姓名吴琪指导教师陈淑红张晓清李杰君2013年7 月 3 日湖南工程学院课程设计任务书课程名称数据结构课题二叉树遍历演示专业班级网络工程学生姓名吴琪学号1指导老师陈淑红张晓清李杰君审批任务书下达日期2013 年 6 月25 日任务完成日期2013年7 月 3 日课程设计报告任务书1、设计内容与设计要求1.1设计内容1.1.1 算术24游戏演示由系统随机生成4张扑克牌,用户利用扑克牌的数字及运算符号“+”、“—”、“*”、“/”及括号“(”和“)”从键盘上输入一个计算表达式,系统运行后得出计算结果,如果结果等于24,则显示“Congratulation!”,否则显示“Incorrect!”设计思路:从键盘输入中缀表达式,然后将中缀表达式转换为后缀表达式,利用后缀表达式求值。
1.1.2 迷宫探索随机生成一个迷宫图,迷宫大小为N*N,N预定义为常数,修改N的值可以改变迷宫的大小。
用白色表示可走的路,蓝色表示墙壁不可以通过。
系统设计两种运行方式:一种是系统自动探索(用递归方法实现);另一种是由人工操作探索通路。
设计思路:程序首先要考虑迷宫的表示,这是一个二维关系图,所以可选择二维数组来存储。
数组元素只有两种值0和1,分别代表通路和墙壁。
图形的显示可以根据数组元素的值来确定。
如果是人工探索,则依据按键来确定探索物的位置坐标,利用循环语句实现。
如果是系统自动探索,可采用递归算法实现。
1.1.3 二叉树遍历演示演示遍历二叉树的过程,所以首先建立二叉树,并用图形显示出树的形状。
建立的过程是采用前序便利的方法来创建,设计两种生成树的方式:一种是系统随机生成,另一种是人工输入。
考虑到屏幕界面的有限性,限定二叉树不超过5层,最多26个字符,输入字符小数点“.”代表NULL。
初始树为某种颜色的结点,三种情况的遍历采用填充另外一种醒目的颜色,来表示当前遍历的结点,同时显示该结点的访问序号。
一.课程设计的任务每位同学做两题:一题在设计题中每人相对应一题号另一题必选题(每个班级有一必选题)二. 要求:1、对相应的题目进行算法设计2、编写源代码3、上机调试4、显示调试结果5、写出实验总结三.课程设计进度安排设计总学时为2周课程设计每周大体分五个阶段:1、选题与搜集资料:每人选择相应题目,进行课程设计课题的资料搜集.2、分析与概要设计:根据搜集的资料,进行程序功能与数据结构分析,并选择合适的数据结构,并在此基础上进行实现程序功能的算法设计.3、程序设计:运用掌握C语言编写程序,实现所程序的各个模块功能.4、调试与测试:自行调试程序,成员交叉测试程序,并记录测试情况.5、实习报告:编写实习报告6、验收与评分:指导教师对每个小组的开发的系统,及每个成员开发的模块进行综合验收.结合设计报告,根据课程设计成绩的评定方法,评出成绩.四.课程设计考核标准考核时主要有如下几项参考:1、初步设计内容的考核:是否有查阅资料能力?是否有设计思想?2、程序编码能力调试能力的考核:程序是否清晰、易读?在技算计上是否可独立完成程序的调试,是否熟练?3、说明书质量的考核:设计结构是否合理?叙述是否正确?方案是否可行?4、答辩:设计结果的调试能力,对自己设计是否熟练?5、出勤率极平时表现的考核:出勤超过2次不到者成绩为不及格。
五.课程设计报告的内容设计结束后要写出课程设计报告,以作为整个课程设计评分的书面依据和存档材料.设计报告以规定格式的电子文档书写,打印并装订,排版及图,表要清楚,工整.装订顺序如下:封面、目录、正文.正文包括以下7个内容:1.需求分析陈述说明程序设计的任务,强调的是程序要做什么,需要什么结果、所能达到的功能.2.概要设计说明本程序中用到的所有抽象数据类型的定义,主程序的流程以及各程序模块之间的层次(调用)关系.3.详细设计实现概要设计中定义的所有数据类型,对每个操作只需要写出伪码算法;对主程序和其他模块也都需要写出伪码算法(伪码算法达到的详细程度建议为:按照伪码算法可以在计算机键盘直接输入高级程序设计语言程序);可采用流程图、N S 图进行描述,画出函数和过程的调用关系图.4.调试分析内容包括:a.调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析;b.算法的时空分析(包括基本操作和其他算法的时间复杂度和空间复杂度的分析)和改进设想;c.经验和体会等.5.测试结果列出你的测试结果,包括输入和输出.这里的测试数据应该完整和严格,最好多于需求分析中所列.6.参考文献列出参考的相关资料和书籍.封面格式如下:数据结构课程设计报告题目——采用的方法班级:_________________________姓名:__________________________ 指导教师:__________________________ 成绩:__________________________信息工程学院年月日。
课程设计报告课程名称数据结构课题名称二叉树遍历演示专业网络工程班级网络工程1102学号 2姓名吴琪指导教师陈淑红张晓清李杰君2013年7 月 3 日湖南工程学院课程设计任务书课程名称数据结构课题二叉树遍历演示专业班级网络工程学生姓名吴琪学号1指导老师陈淑红张晓清李杰君审批任务书下达日期2013 年 6 月25 日任务完成日期2013年7 月 3 日课程设计报告任务书1、设计内容与设计要求1.1设计内容1.1.1 算术24游戏演示由系统随机生成4张扑克牌,用户利用扑克牌的数字及运算符号“+”、“—”、“*”、“/”及括号“(”和“)”从键盘上输入一个计算表达式,系统运行后得出计算结果,如果结果等于24,则显示“Congratulation!”,否则显示“Incorrect!”设计思路:从键盘输入中缀表达式,然后将中缀表达式转换为后缀表达式,利用后缀表达式求值。
1.1.2 迷宫探索随机生成一个迷宫图,迷宫大小为N*N,N预定义为常数,修改N的值可以改变迷宫的大小。
用白色表示可走的路,蓝色表示墙壁不可以通过。
系统设计两种运行方式:一种是系统自动探索(用递归方法实现);另一种是由人工操作探索通路。
设计思路:程序首先要考虑迷宫的表示,这是一个二维关系图,所以可选择二维数组来存储。
数组元素只有两种值0和1,分别代表通路和墙壁。
图形的显示可以根据数组元素的值来确定。
如果是人工探索,则依据按键来确定探索物的位置坐标,利用循环语句实现。
如果是系统自动探索,可采用递归算法实现。
1.1.3 二叉树遍历演示演示遍历二叉树的过程,所以首先建立二叉树,并用图形显示出树的形状。
建立的过程是采用前序便利的方法来创建,设计两种生成树的方式:一种是系统随机生成,另一种是人工输入。
考虑到屏幕界面的有限性,限定二叉树不超过5层,最多26个字符,输入字符小数点“.”代表NULL。
初始树为某种颜色的结点,三种情况的遍历采用填充另外一种醒目的颜色,来表示当前遍历的结点,同时显示该结点的访问序号。
同时在遍历的过程中在遍历图形的下方显示出遍历序列。
1.1.4 拓扑排序演示4演示拓扑排序的过程。
按照有向图给出的次序关系,将图中顶点排成一个线性序列,对于有向图中没有限定次序关系的顶点,则可以人为加上任意的次序关系。
要求每输出一个顶点后就演示从图中删去此顶点以及所有以它为尾的弧。
1.1.5 图的遍历演示图的深度优先, 广度优先遍历过程,并输出原图结构及遍历结果。
要求图的结点数不能少于6个。
可以由系统随机生成图,也可以由用户手动输入图。
报告中要写出画图的思路;画出图的结构,有兴趣的同学可以进一步改进图的效果。
1.1.6 双链表创建演示建立一个递增有序的双链表。
功能是随机生成8个结点数据,每生成一个结点则申请空间得到一个指针,将数据存放到指针所指的数据域中,然后将结点插入到已经排好序的双链表中。
所以第一步工作是判断新结点的插入位置,第二演示插入过程中指针的变化,第三步显示插入后的链表结果。
1.1.7 选作课题:公园导游图给出一张某公园的导游图,游客通过终端询问可知:从某一景点到另一景点的最短路径。
游客从公园大门进入,选一条最佳路线,使游客可以不重复地游览各景点,最后回到出口(出口就在入口旁边)。
要求用图示展示最佳路径。
1.1.8 最小生成树算法演示随机生成一个网,并用图形展示,然后依据Prim算法或Kruskal算法求该图的最小生成树,并用图形展示相应的过程步骤。
1.2 选题方案:所选题目根据学号确定,学号模6加1,即(学号%6+1)。
如你的学号为13,则所选题目号为:13%6+1=(题目2)。
注意,所有的课题都要求用图形方式演示步骤和结果。
有兴趣的同学可以可以选择选做课题七或课题八,也可以自己针对数据结构课程中所讲算法来设计一个演示过程的算法,但要预先告知老师,经过审批,方可确定课题。
1.3设计要求:1.3.1 课程设计报告规范(1)需求分析a.程序的功能。
b.输入输出的要求。
(2)概要设计a.程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能。
b.课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。
(3)详细设计a.采用C语言定义相关的数据类型。
b.写出各模块的类C码算法。
c.画出各函数的调用关系图、主要函数的流程图。
(4)调试分析以及设计体会a.测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。
b.程序调试中遇到的问题以及解决问题的方法。
c.课程设计过程经验教训、心得体会。
(5)使用说明用户使用手册:说明如何使用你编写的程序,详细列出每一步的操作步骤。
(6)书写格式a.设计报告要求用A4纸打印成册:b.一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
(7)附录a.源程序清单(带注释)1.3.2 考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。
具体考核标准包含以下几个部分:(1)平时出勤(占10%)6(2)系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%)(3)程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%)(4)设计报告(占30%)注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。
(5)独立完成情况(占10%)。
1.3.3 课程验收要求(1)运行所设计的系统。
(2)回答有关问题。
(3)提交课程设计报告。
(4)提交软盘(源程序、设计报告文档)。
(5)依内容的创新程度,完善程序情况及对程序讲解情况打分。
2 、进度安排第18 周:星期二14:30——16:30 上课星期二18:00——22:00 上机星期三18:00——22:00 上机星期四18:00——22:00 上机第19 周:星期一14:00——18:00 上机星期二14:00——18:00 上机星期三8:00——12:00 上机附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗, 三级标题用小四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。
正文总字数要求在5000字以上(不含程序原代码)目录一、需求分析: (1)1.1功能需求: (1)1.2输入输出的要求: (1)1.2.2输出: (1)二、概要设计: (1)2.1数据结构: (1)2.2抽象数据类型: (2)2.3功能模块图: (3)3.1流程图 (4)3.1.1创建二叉树: (4)3.1.2先序遍历: (5)3.1.4中序遍历: (7)3.2.1创建二叉树: (7)3.2.2先序遍历二叉树: (8)3.2.3中序遍历二叉树: (8)3.2.4后序遍历二叉树: (8)3.2.5人工输入二叉树: (8)3.2.6随机生成二叉树: (9)四、调试与测试: (10)4.2.1程序调试及分析: (10)4.2.2测试结果及分析: (11)五、心得体会: (14)六、参考文献: (15)七、附录: (15)课程设计报告一、需求分析:1.1功能需求:演示遍历二叉树的过程,所以首先建立二叉树,并用图形显示出树的形状。
建立的过程是采用前序便利的方法来创建,设计两种生成树的方式:一种是系统随机生成,另一种是人工输入。
考虑到屏幕界面的有限性,限定二叉树不超过5层,最多26个字符,输入字符小数点“.”代表NULL。
初始树为某种颜色的结点,三种情况的遍历采用填充另外一种醒目的颜色,来表示当前遍历的结点,同时显示该结点的访问序号。
同时在遍历的过程中在遍历图形的下方显示出遍历序列。
1.2输入输出的要求:1.2.1输入:(1)人工输入二叉树的序列;(2)随机产生二叉树的序列。
1.2.2输出:用图形的方式演示二叉树的三种遍历:①先序遍历、②中序遍历、③后序遍历。
二、概要设计:2.1数据结构:typedef struct node{2char data;struct node*lchild;struct node*rchild;int x;int y;int num;}BTNode;2.2抽象数据类型:数据对象D:D是具有相同特性的数据元素的集合。
各个数据元素均含有类型相同,可惟一标识数据元素的关键字。
数据关系R:数据元素同属一个集合。
基本操作P:node*createBTNode(BTNode*&t,char*str)操作结果:先序遍历创建二叉树。
PreOrder(BTNode*t,int m,int v)初始条件:二叉树存在;操作结果:先序遍历二叉树。
inOrder(BTNode*t,int m,int v)初始条件:二叉树存在;操作结果:中序遍历二叉树。
postOrder(BTNode*t,int w,int v)初始条件:二叉树存在;操作结果:后序遍历二叉树。
node*DrawOriginTree(BTNode*t,char*str,int x,int y)初始条件:二叉树存在;操作结果:将二叉树用图形表示出来。
rgcreate()操作结果:人工输入二叉树序列。
sjcreate()操作结果:随机生成二叉树序列。
2.3功能模块图:用户在主界面中选择出输入模块,继续执行小界面中的其他模块。
2.3.1系统总模块:2.3.2模块功能说明:主界面:main() 用户选择界面人工输入模块: rgcreate() 用户手动输入二叉树序列随机生成模块: sjcreate() 系统随机产生二叉树序列先序遍历模块:PreOrder()系统界面用图的形式将二叉树的先序遍历显示出来中序遍历模块: inOrder() 系统界面用图的形式将二叉树的中序遍历显示出来后序遍历模块: postOrder() 系统界面用图的形式将二叉树的后序遍历显示出来退出模块: exit(0)退出程序4三、详细设计:3.1流程图3.1.1创建二叉树:3.1.2先序遍历:63.1.4中序遍历:3.2设计思路:3.2.1创建二叉树:(1)创建二叉树的部分,用ch扫描str,有四种字符:1、ch='(':表示前面刚创建的节点*p存在孩子节点,需要将其进栈,以便建立它和其孩子节点的关系,然后开始处理左孩子,k=1,其后创建的节点作为它的左孩子节点。