- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二叉排序树的操作.doc
内蒙古科技大学课程设计任务书
课程名称
数据结构课程设计
设计题目
二叉排序树的操作
指导教师
孙涛
时间
2011/6/13~2011/6/23
一、教学要求
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.《 HYPERLINK :8089/ggjs/xstb/xstbjg.jsp \l # 数据结构:用面向对象方法与C++语言描述》,殷人昆 主编,?清华大学出版社 2007.6
内蒙古科技大学
本科生课程设计论文
题 目:二叉排序树的操作
学生姓名:罗芳
学 号:0967111248
专 业:计算机科学与技术
班 级:09-2班
指导教师:孙涛
2011年 6
二叉排序树的操作
二叉排序树的特点:①若它的左子树不为空,则它的左子树上所有结点的值均小于它的根节点;②若它的右子树不为空,则它的右子树上所有结点的值均小于它的根节点;③它的左右子树也分别为二叉排序树;④ 二叉排序树的结构不是一次生成的,而是在查找过程中,当树中不存在该关键字时再进行插入。
1 各成员函数的基本功能
根据二叉排序树的特点,可由如下函数来实现二叉排序树的操作:
① bool SearchBST(int key,BiNode f,BiNode p)根据关键字key查找结点,若存在关键字与key相同的结点,则函数的返回值为ture,并使f指向该结点的双亲结点,p指向该结点;若不存在,则函数返回false。
②void InSertBST(int e)先调用bool SearchBST(int key,BiNode f,BiNode p函数查找是否已经存在关键字为e的结点,若不存在,则生成一个关键字为e的结点,若存在,则给出提示。
③void Create()函数通过调用void InSertBST(int e)创建一个个结点,并使得第一个结点为根节点,关键字比第一个结点的小的结点在根节点的左子树上,关键字比根节点的大的结点在根节点的右子树上,从而创建一棵二叉排序树的。
④void Traverse()函数利用栈来实现二叉排序树的中序遍历,使二叉排序树的关键字从小到大排列输出。
⑤在调用void DeleteBST(BiNode p)前必须调用bool SearchBST(int key,BiNode f,BiNode p)函数确定关键字为key的结点是否存在,若存在,则删除,若不存在,则给出相应的提示信息。
2 各成员函数的具体实现
2.1 void Create()生成二叉排序树
二叉排序树实在查找过程中动态创建的,所以在Create()函数中,要根据输入的关键字个数m,动态分配m*int大小的内存空间,在输入各个关键字各个关键字,以关键字为形参,调用m次插入函数void BSTree::InSertBST(int e),逐个生成二叉树的结点,并使得根节点的左子树的关键字都小于根节点右子树的关键字。以输入(23 13 45 21 65
您可能关注的文档
- 中原-北京CBD东区国际公寓项目定位市场研究报告112页2006年.ppt.ppt
- 中国旅游客源地和目的地概况第六章非洲南非..ppt
- 中国古代玉器.ppt.ppt
- 中国电信WLAN 热点接入设备技术要求(V3.0) 第二部分:集中控制型(AC+AP)设备要求.ppt.ppt
- 中国古代玉器(二) .ppt.ppt
- 中国航天 供苏教版科学六年级上册个人PPT展示使用.ppt.ppt
- 中国进口红酒市场调研分析报告.ppt.ppt
- 中国石油大学《化工仪表及自动化》chap02 压力测量及变送-化工.pptx
- 中国足球为何冲不出亚洲—结题报告.ppt
- 中央空调技术培训多联机系统施工技术沧州市制冷学会、沧州....ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
文档评论(0)