1、 数据结构课程设计 题 目 二叉树的遍历算法分析与设计 学生姓名学生姓名 专业班级专业班级 计算机计算机 1212- -1 1 指导教师指导教师 职职 称称 副教授副教授 所在单位所在单位 信息科学系信息科学系 教学部主任教学部主任 完成日期完成日期 20142014 年年 1 1 月月 1010 日日 数据结构课程设计任务书 一、任务及要求:一、任务及要求: 1. 设计(研究)任务和要求 研究内容:二叉树的遍历算法分析与设计 任务和要求: (1)学习数据结构基础知识,掌握数据结构典型的算法的使用。 (2)对指导教师下达的题目进行系统分析。 (3)根据分析结果完成系统设计。 (4)编程:在计算
2、机上实现题目的代码实现。 (5)完成对该系统的测试和调试。 (6)提交课程设计报告。 要求完成课程设计报告 3000 字以上(约二十页)。 完成若干综合性程序设计题目,综合设计题目的语句行数的和在 100 行语句以上。 2.原始依据 结合数据结构课程中的基本理论和基本算法, 正确分析出数据的逻辑结构, 合理地选择 相应的存储结构,并能设计出解决问题的有效算法。提高程序设计和调试能力。学生通过上 机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中 的错误并且修改。 3.参考题目: 二、工作量二、工作量 2 周(10 个工作日)时间 三、计划安排三、计划安排 第 1
3、个工作日:查找相关资料、书籍,阅读示例文档,选择题目。 第 2 个工作日第 3 个工作日:设计程序结构、模块图。 第 4 个工作日第 9 个工作日:完成程序的编码,并且自己调试、测试。穿插进行课程 设计报告的撰写。 第 10 个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告, 给出学生成绩。 指导教师签字: 2013 年 12 月 30 日 目录 题目一: :居民信息管理系统(以二叉树建立) )算法分析与设计. 1 1.需求分析 1 2.概要设计 1 3.详细设计 2 1. 居民信息查询模块 2 2. 居民信息删除模块 2 3. 居民信息添加模块 2 4. 居民信息修改模块
4、 2 5.系统总体流程. 3 4.调试分析 4 1. 程序设计及过程 4 5.测试结果及运行效果 4 题目二:居民信息管理系统(单链表建立含各种排序)算法分析与设计. 7 1.需求分析 7 2.概要设计 7 3.详细设计 8 3.1 主函数模块 . 8 3.2 录入居民信息子模块 . 9 3.3 修改居民信息子模块 11 3.4 写入/读取信息子模块. 15 3.5 按年龄直接插入排序子模块 16 3.6 按户籍号直接选择排序子模块 17 总 结. 18 参考文献. 19 附录.主要代码 20 题目一 . 20 题目二 . 25 1 题目一:居民信息管理系统(以二叉树建立)算法分析与设计 1.
5、1.需需求分析求分析 此系统是根据用户的需求,主要是对居民的基本信息进行登记,统计,并对 居民信息进行管理。系统除了以上功能外还要有基本的管理工作,例如添加居民 信息,修改居民信息,删除居民信息等最基本的操作,还有就是通过本系统还可 以统计出在在各个教育程度的人数,方便应用者更加的快捷的做出统计,提高工 作效率。 2.2.概要设计概要设计 本系统中定义 jumininfo 结构体类型用于描述居民信息。jumininfo 结构体 类型定义格式如下: typedef struct char num18; char name21; char sex5; char age4; char xueli11
6、; char addr51; char tel21; jumininfo; 其中 num 用于描述居民的身份证号信息,name 用于描述居民的姓名信息, sex 用于描述居民的性别信息,age 用于描述居民的年龄信息,xueli 用于描述 居民的教育程度信息,addr 用于描述居民的地址信息,tel 用于描述居民的联系 方式信息。 本系统中定义 nodetype 结构体类型用于建立二叉树的节点。nodetype 结构 体类型定义格式如下: typedef struct node jumininfo jumin; struct node *L; struct node *R; nodetype; 其中 jumin 用于存储居民个人信息,*L 为指向左孩子的指针,*R 为指向右 孩子的指针。 2 3.3.详细设计详细设计 依据需求分析结果,居民信