- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课 程 设 计 说 明 书课程名称: 数据结构设计题目: 二叉排序树的实现院 系:
学生姓名:
学 号:
专业班级:
指导教师:2010年5月29日课 程 设 计 任 务 书
设计题目
二叉排序树的实现
姓名
罗浩
院系
计算机科学与信息工程系
专业、年级、 班
08软件工程1班
设计要求:
以回车(\n)为输入结束标志,输入数列L,生成一棵二叉排 序树T;
对二叉排序树T作中序遍历,输出结果;
输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);否则输出信息“无x”;
学生应完成的工作:
1、按设计要求完成各项任务。
2、测试数据及测试结果在上交的资料中写明(
3、按《数据结构课程设计大纲》中的要求完成课程设计报告格式。
4、设计结束后,上交如下材料:
1)《课程设计报告》打印稿一份2)课程设计的源代码电子文档一份
参考文献阅读:
[1] 李春葆 尹为民 李蓉蓉 蒋晶鈺 喻丹丹.数据结构教程上机实验指导.
[2] 谭浩强.C程序设计教程
[3]唐宁九 游洪跃 朱宏.数据结构与算法(C++版)工作计划:
共计一周时间,进度安排如下:
选题,在上机实验之前看透设计要求,翻阅资料完成程序设计大致提纲 。
选好题,上级编写程序(需求分析、概要设计) 。
填写算法,实现设计要求的各项功能(详细设计) 。
4. 调试和分析,最终完成较合理的程序设计 。
5. 按《数据结构课程设计大纲》中的要求完成课程设计报告格式。
任务下达日期: 2010年 5 月 27 日任务完成日期: 2010年 6 月 3 日
指导教师(签名):学生(签名):罗浩(设计题目)摘 要:
设计一个程序,根据任一数列生成一棵二叉排序树;实现基本的遍历方法;查询结点并删除结点且保证仍为二叉排序树。具体要求:用顺序和二叉链表作存储结构,输入数列L,以回车(\n)为输入结束标志生成一棵二叉排序树T;对二叉排序树T作中序遍历,输出结果;输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,否则输出信息“无x”。 根据二叉排序树的概念,查找当前插入的元素的位置;删除结点如果不是叶子结点,要注意考虑如何使树仍为二叉排序树。
关键词:
二叉排序树,二叉链表,遍历,查询,删除目 录
1. 设计背景 4
1.1 问题的提出 4
1.2 任务与分析 4
2.设计方案 4
2.1整体设计方案 4
3. 方案实施 5
3.1主程序模块设计方案 5
3.2初始化模块设计方案 5
1).实现二叉树的初始化 5
2). 创建一棵二叉树: 6
3.3中序遍历模块设计方案: 7
3.4 查找并删除元素模块设计方案 8
1) 查找元素x: 8
2) 删除元素x: 8
3.5 主函数设计方案 10
4. 结果与结论 11
4.1结果演示 11
4.2结果演示 12
5. 收获与致谢 12
5.1总结: 12
5.2致谢: 13
6. 参考文献 13
7. 附件 13
7.1源程序: 13
1. 设计背景
1.1 问题的提出
根据自己的知识功底和能力水平,选择二叉排序树的实现问题。而随着计算机发展并逐渐成为各行业不可缺少的东西,数据结构与算法包含计算机科学与技术的许多重要方面,对训练学生编出质量高、风格好的程序,又语言的发展,C++已成为用处最为广泛的语言。该设计运用数据结构知识,利用C++编写,来锻炼和提高我自己的编程及独立解决问题的能力,故选较为基础,但知识点广泛的题目。
1.2 任务与分析任务是一个二叉排序树的实现问题,根据任一数列生成一棵二叉排序树;实现基本的遍历方法;查询结点并删除结点且保证仍为二叉排序树。根据二叉排序树的概念,查找当前插入的元素的位置;删除结点如果不是叶子结点,要注意考虑如何使树仍为二叉排序树。
2.设计方案
2.1整体设计方案
此课题研究二叉排序树的实现,建立二叉排序树;中序遍历并显示遍历结果;输入元素x,查找x;若存在删除之,否则输出“无x”;然后再进行中序遍历输出遍历结果。为方便起见,画出流程图如图1:
图1
该程图描述了主要程序及函数。
3. 方案实施
3.1主程序模块设计方案
#include iostream.h
typedef int KeyType;
typedef char ElemType[10];
typedef struct tnode
{
KeyType key;
ElemType data;
struct tnode *lchild,*rchild;
}BSTNode;定义全局变量、分配储存空间。
3.2初始化模块设计方案
1).实现二叉树的初始化
BSTNode *CreatBS
文档评论(0)