数学与计算机学院 课程设计说明书
课 程 名 称: 数据结构与算法课程设计 课 程 代 码:
题 目: 二叉树生成家谱 年级/专业/班:
学 生 姓 名: 学 号:
开 始 时 间: 2015 年 12 月 09 日 完 成 时 间: 2015 年 12 月 29 日 课程设计成绩:
学习态度及平技术水平与实时成绩(30) 际能力(20) 创新(5) 说明书(计算书、图纸、总 分分析报告)撰写质量(45) (100) 指导教师签名: 年 月 日
目 录 (小三黑体,居中)
1 需求分析 ........................................................ 6
1.1任务与分析 ...................................................................................................... 6 1.2测试数据 .......................................................................................................... 6 2 概要设计 ........................................................ 7
2.1 ADT描述 .......................................................................................................... 7 2.2程序模块结构 .................................................................................................. 8 2.3 各功能模块 ................................................................................................... 9 3 详细设计 ....................................................... 10
3.1结构体定义 .................................................................................................... 10 3.2 初始化 ........................................................................................................... 11 3.3 插入操作 ....................................................................................................... 13 3.4 查询操作 ........................................................................................................ 15 4 调试分析 ....................................................... 18 5 用户使用说明 ................................................... 18 6 测试结果 ....................................................... 18 结 论 ........................................................... 23 附 录 ........................................................... 24 参考文献 ......................................................... 25
摘 要
随着计算机科学技术、计算机产业的迅速发展,计算机的应用普及也在以惊人的速度发展,计算机应用已经深入到人类社会的各个领域。计算机的应用早已不限于科学计算,而更多地应用在信息处理方面。计算机可以存储的数据对象不再是纯粹的数值,而扩展到了字符、声音、图像、表格等各种各样的信息。对于信息的处理也不再是单纯的计算,而是一些如信息存储、信息检索等非数值的计算。那么,现实世界的各种数据信息怎样才能够存储到计算机的内存之中,对存入计算机的数据信息怎样进行科学处理,这涉及计算机科学的信息表示和算法设计问题。为解决现实世界中某个复杂问题,总是希望设计一个高效适用的程序。这就需要解决怎样合理地组织数据、建立合适的数据结构,怎样设计适用的算法,以提高程序执行的时间效率和空间效率。“数据结构”就是在此背景下逐步形成、发展起来的。 在各种高级语言程序设计的基本训练中,解决某一实际问题的步骤一般是:分析实际问题;确定数学模型;编写程序;反复调试程序直至得到正确结果。所谓数学模型一般指具体的数学公式、方程式等,如牛顿迭代法解方程,各种级数的计算等。这属于数值计算的一类问题。而现实生活中,更多的是非数值计算问题,如手机中的通讯录,人们对它的操作主要是查找、增加、删除或者修改电话记录。再如,人们经常在互联网上查阅各种新闻,或查阅电子地图,人们可以在某城区地图上查找自己所需的街道或店铺,其操作主要是搜索和查询。下面再来分析几个典型实例,它们的主要特点是:不同实例的数据元素之间存在不同的关系;对数据信息的处理主要有插入、删除、排序、检索等。
关键词:网络化;计算机;对策;二叉树
引 言
课程设计的目的:通过本项课程设计,培养学生独立思考、综合运用所学有关相应知识的能力,使学生巩固《数据结构》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关;为了培养学生综合运用所学知识、独立分析和解决实际问题的能力,培养创意识和创新能力,使学生获得科学研究的基础训练。为后续各门计算机课程的学习和毕业设计打下坚实基础。同时,可以利用这次机会来检验自己的c/c++/数据结构水平,提高自己的写作水平,锻炼自己的动手能力。
而此次课程设计的意义在于:增强自己的动手能力,熟悉和掌握二叉树各种遍历的算法,以及递归在遍历二叉树中的应用,增强自己的调试程序和测试程序的能力。