二叉排序树操作课程设计报告.doc

二叉排序树操作课程设计报告.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二叉排序树操作课程设计报告

本科生课程设计论文 《数据结构与算法》 题 目:二叉排序树的操作 课程设计任务书 课程名称 数据结构与算法课程设计 设计题目 二叉排序树的操作 指导教师 周李涌 时间 2015.1.5——2015.1.9 一、教学要求 1. 掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力 2. 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能 3. 提高综合运用所学的理论知识和方法独立分析和解决问题的能力 4. 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风 二、设计资料及参数 每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。 二叉排序树的操作 以二叉链表表示二叉排序树,在此基础上实现二叉排序树的操作。 要求设计类(或类模板)来描述二叉排序树,包含必要的构造函数和析构函数,以及其他能够完成如下功能的成员函数: 创建二叉排序树 输出二叉排序树 在二叉排序树中查找给定值 在二叉排序树中插入新结点 在二叉排序树中删除给定值 并设计主函数测试该类(或类模板)。 三、设计要求及成果 1. 分析课程设计题目的要求 2. 写出详细设计说明 3. 编写程序代码,调试程序使其能正确运行 4. 设计完成的软件要便于操作和使用 5. 设计完成后提交课程设计报告 四、进度安排 资料查阅与讨论(1天) 系统分析(2天) 系统的开发与测试(5天) 编写课程设计说明书和验收(2天) 五、评分标准 1. 根据平时上机考勤、表现和进度,教师将每天点名和检查 2. 根据课程设计完成情况,必须有可运行的软件。 3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。 4. 根据答辩的情况,应能够以清晰的思路和准确、简练的语言叙述自己的设计和回答教师的提问 六、建议参考资料 1.《数据结构 (C语言版)》严蔚敏、吴伟民 主编 清华大学出版社 2004.11 2.《数据结构课程设计案例精编(用C/C++描述)》,李建学 等 编著,清华大学出版社 2007.2 3.《数据结构:用面向对象方法与C++语言描述》,殷人昆 主编,?清华大学出版社 2007.6 目录 目录 2 第一章 需求分析 3 第二章 总体设计 4 第三章 抽象数据类型定义 5 3.1 二叉树BT抽象数据类型的设计 5 3.2 BT抽象数据类型的设计 6 第四章 详细设计 7 4.1工程视图 7 4.2类图视图 7 4.3函数的调用关系 8 4.4主程序流程图 9 4.5主要算法的流程图 9 第五章 测试 13 第六章 总结 20 附录:程序代码 21 需求分析 二叉排序树的操作 以二叉链表表示二叉排序树,在此基础上实现二叉排序树的操作。 要求设计类(或类模板)来描述二叉排序树,包含必要的构造函数和析构函数,以及其他能够完成如下功能的成员函数: 创建二叉排序树 输出二叉排序树 在二叉排序树中查找给定值 在二叉排序树中插入新结点 在二叉排序树中删除给定值 并设计主函数测试该类(或类模板)。 第二章 总体设计 系统的功能结构:设置二叉排序树根结点、添加二排序叉树结点、删除二排序叉树结点、查找给定的二叉树结点、输出二排序叉树、退出。 功能说明: 设置二叉排序树根结点:为新创建的二叉排序树创建根节点。 添加二排序叉树结点:需要输入创建节点的数目,然后创建一定数目的二叉排序树结点。 删除二排序叉树结点:给定一个数据(字母),然后查找,找到后删除,否则,告知未找到, 查找给定的二叉树结点:给定一个数据(字母),然后查找,并给出提示。 输出二排序叉树:按照先序遍历并输出二叉排序树的结点数据。 退出:退出程序。 第三章 抽象数据类型定义 定义格式如下: 二叉树BT抽象数据类型的设计 ADT BT{ 数据对象root:先定义一个二叉树结点的结构体: typedef struct bst { char data; struct bst *left; struct bst *right; struct bst *father; }BSTree,*BST; root是指向二叉树结点的指针; 数据关系:R={(V或者C)P(V或者C)|V,C∈D, (V或者C)P(V或者C)表示由运算符P结合起来的表达式E} 基本操作: BST InitRoot() 操作结果:为空二叉排序树创建一个根节点,输入一个字符型数据,将这个字符型数据存入结点的数据域中同时给左右孩子指针和父指针置空,并返回一个结点的基址给指针。 void Inserter(root, key) 初始条件:二叉排序树不为空,存在根节点; 操作结果:输入一个字符型数据,先寻找二叉排序树中是否有此数据,

您可能关注的文档

文档评论(0)

bokegood + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档