ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:126.05KB ,
资源ID:19220045      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19220045.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(线索二叉树课程设计说明书模板Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

线索二叉树课程设计说明书模板Word下载.docx

1、线索化;先序遍历;中序遍历;后续遍历引 言 数据结构是计算机专业重要的专业基础课程与核心课程之一,在计算机领域应用广泛,计算机离不开数据结构。数据结构课程设计为了能使我们掌握所学习的知识并有应用到实际的设计中的能力,对于掌握这门课程的学习方法有极大的意义。本课程设计的题目为“线索二叉树的应用”,完成将二叉树转化成线索二叉树,采用前序、中序或后序线索二叉树的操作。本课程设计采用的编程环境为Microsoft Visual Stdio 2008。 1、需求分析 为了能更熟练精准的掌握二叉树的各种算法和操作,同时也为了开拓视野,综合运用所学的知识。为此,需要将二叉树转化成线索二叉树,采用前序、中序或

2、后序线索二叉树,以实现线索树建立、插入、删除、恢复线索等。1.1任务与分析 中次系统要实现对二叉树的建立,以及线索化该二叉树,同时实现对其先序、中序、后序线索话的并输出结果。1.2测试数据 表1:入的二叉树结点序号和数据结点序号数据1 112 223 334 445 556 667778889992开发及运行平台开发平台:Microsoft Visual Studio 2008运行平台:Windows XP/2003/73 概要设计 3.1 ADT描述 ADT BiTree 数据对象:D=“树节点”; 数据关系:RH 若D=为空,则R=,Tree为空树; 若D仅有一个数据元素,则R=; 否则R

3、=H详细描述如下:D中存在唯一的称之为根的节点root,它在关系H下无前驱;1. 若D-root,则存在对根以外剩余元素的一个划分D1、 D2.,Dm(m0),并对任意jk(1jm,1km)有DjDk=;且对任意i(1im)唯一存在数据元素xiDi,有二元关系H。这里描述的是从总节点到各个子树根节点xi的边。2. 对应于D-root的划分,关系集H-, ,.也有唯一的划分H1、H2.Hm(m0),并且对任意的jk(1jm,1km)有HjHk=,对任意的i(1im),Hi是Di上的二元关系,则(Di,H)是一颗树,且是root的子树。基本操作: void creat ();/创建一个二叉树。vo

4、id inorder ();/中序便利。void ThTree:threpreorder ();/先序遍历二叉树。threinorder ();/中序遍历二叉树。threpostorder ();/后序遍历二叉树。destroy ();/删除线索二叉树。int main();/主函数。3.2程序模块结构 图2 程序模块结构3.2.1 结构体定义书的结构体定义如下:struct ThreNode /定义结点结构体 ElemType data; ThreNode *lch; ThreNode *rch; int ltag,rtag;3.3各功能模块新建模块: void ThTree:creat (

5、)新建二叉树并储存。树类模块:void ThTree ()定义书的结点,孩子以及各成员函数。先序遍历模块:threpreorder ()对树进行先序线索遍历。中序遍历模块:threinorder ()对树进行中序线索遍历。后序遍历模块:threpostorder()对树进行后序线索遍历。删除模块:destroy ():删除所有节点。4详细设计4.1结构体定义树的结构体定义如下: ThreType data;4.2 初始化构造函数初始化变量,定义双亲结点和左右标志域以及根结点:creat() /建立二叉树 ThreNode *q,*s20; ElemType x; int i,j; coutix

6、; while(i!=0&x!=0) q=new ThreNode; /产生一个接点 q-data=x;q-lch=NULL;rch=NULL;ltag=0;rtag=0; /左右标志域 si=q; if(i=1)root=q; /q为根接点 elsej=i/2; if(i%2)=0)sj-lch=q;else sj-rch=q; /j为双亲结点编号 cin 4.3 新建操作 ThreNode *q,*s20; cout while(i!threpreorder(ThreNode *p,ThreNode *pre) /先根线索化二叉树if(p!=NULL)coutdatalch=NULL)p-

7、lch=pre; p-ltag=1; pre=p; if(p-ltag=0)threpreorder(p-lch,pre); threpreorder(p-rch,pre); 4.4、录入信息int main () int k;ThTree root0; docout4.6中序遍历线索化操作threinorder(ThreNode *p,ThreNode *pre) /中根线索化二叉树 if(p! threinorder(p- p- p- if(pre!pre-rch=0) pre-rch=p;rtag=1; pre=p;4.7后续遍历线索化操作threpostorder(ThreNode *

8、p,ThreNode *pre) /后根线索化二叉树 threpostorder(p- threpostorder(p-4.8主函数 case 1:n 建立二叉树: root0.creat(); break; case 2:n 中序递归线索二叉树的结果: root0.threinorder(); break; case 3:n 先序递归线索二叉树的结果: root0.threpreorder(); break; case 4:n 后续递归线索化二叉树的结果: root0.threpostorder(); while(kk5); _getch(); return 0;5 调试分析5.1测试数据测

9、试数据见表1.5.2调试问题 在测试过程中没有给测试者提供相关的录入信息要求,导致录入要求不合格,程序不能正常运行,经过添加了录入信息提示之后就解决了这个问题。5.3算法时间复杂度录入:时间复杂度为O(n);先根线索化二叉树: 时间复杂度为O(n);中根线索化二叉树:后根线索化二叉树:删除结点: 时间复杂度为O(n);5.4经验和体会在本次课程设计中主要是对图的数据结构操作,所有刚开始对知识不是很熟悉操作起来有一定难度,容易在程序的关键地方但经过翻阅教材能较好的解决问题。6测试结果6.1录入信息 图3 录入信息界面6.2新建模块 图5 查询景点信息界面6.3中序递归线索化模块 图6 中序递归线

10、索化界面6.4先序递归线索化模块图7 先序递归线索化界面 6.5后序递归线索化模块 图8 后序递归线索化界面结 论 本次课程设计“二叉树的线索化”按照任务书相应的要求成功的完成了任务,由于本课程设计涉及先序、后序、中序的线索化,以及相应的相关插入删除的操作,因此对算法的设计以及相关函数的调用要求很高,需要通过反复的查看相关书籍才能完成。 致 谢 在本次课程设计过程中,首先感谢辅导老师周立章,在数据结构课堂上为课程设计需要的前期知识打下了基础,在课程设计过程中抽出休息时间来做相应的课程设计指导。同时在这次课程设计中,也要感谢许多乐意同学对我不懂的地方的指导和耐心讲解。参考文献 1 严蔚敏,吴伟民

11、.数据结构.北京.清华大学出版社出版。2 严蔚敏,吴伟民. 数据结构题集(C语言版) .北京.清华大学出版社.2003年5月。3 杨秀金,数据结构(C+版) .北京.高等教育出版社.2009年4月。4 朱战立.数据结构(C+语言描述)(第二版本).北京.高等出版社出版.2004年4月。5 胡学钢.数据结构(C语言版) . 北京.高等教育出版社. 2004年8月。6 杨金秀.数据结构(C语言版).西安.电子科技大学出版社.2004年8月。西华大学本科课程设计说明书规范化要求第一条说明书格式说明书(或计算书)手写、打印均可,需采用统一的课程设计用纸或模版。纸张大小A4,上下右各留2.2cm,左边距

12、2.5cm的页边距。手写时用黑墨水工整书写;打印:1.5倍行距,正文字体使用小四号宋体,小标题使用小四号黑体,大标题使用四号黑体,章节标题使用小三号黑体、居中。页眉按“ XXXXXX(课程设计题目)”(5号)注写,但封面不能有页眉;页脚居中。第二条 课程设计说明书字数要求按学院根据本学科特点确定的字数。第三条 装订课程设计资料装订顺序为:(1)封面(2)任务书(由指导教师填写)(3)目录、摘要及关键词摘要是说明书内容的简短陈述,一般200字左右。关键词是反映论文主题内容的通用技术词汇,一般为35词,并出现在摘要中。(4)正文(含引言及正文内容)(5)结论(6)致谢(7)参考文献(不少于6篇)参考文献必须是学生在课程设计中真正阅读过和运用过的,文献按照在正文中的出现顺序编号排列。各类文献的标注格式如下:著作:序号著者.译者.书名.出版社.出版时间.引用部分起止页期刊:序号 著者.译者.文章题目.期刊名.年份.卷号(期刊数).引用部分起止页会议论文集:序号作者.译者.文章名.文集名.会址.开会年.出版者.出版时间.引用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1