- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计
设计说明书线索二叉树算法的实现学生姓名 学号 班级 成绩 指导教师计算机科学与技术系
2011 年9月9日
数据结构课程设计评阅书
题 目 线索二叉树算法的实现 学生姓名 学号 07 指导教师评语及成绩 成绩:教师签名:年 月 日 答辩教师评语及成绩 成绩:教师签名:年 月 日 教研室意见 总成绩:室主任签名:年 月 日 注: 指导老师成绩60%,答辩成绩40%,总成绩合成后按五级制计入。
课程设计任务书
2011—2012学年第1学期
专业:计算机科学与技术学号:07姓名:穆闻课程设计名称:数据结构课程设计设 计 题 目:线索二叉树的实现完 成 期 限:自2011 年 8 月 29 日至 2011 年 9 月 9 日共 2 周
设计内容:
n个结点的二叉链表中含有n+1个空指针域。利用二叉链表中的空指针域,存放指向结点在某种遍历次序下的前趋和后继结点的指针(这种附加的指针称为线索)。这种加上了线索的二叉树称为线索二叉树(Threaded??BinaryTree)。对一棵非线索二叉树以某种次序遍历使其变为一棵线索二叉树的过程称为二叉树的线索化。由于线索化的实质是将二叉链表中的空指针改为指向结点前驱或后继的线索,而一个结点的前驱或后继结点的信息只有在遍历时才能得到,因此线索化的过程即为在遍历过程中修改空指针的过程。根据线索性质的不同,线索二叉树可分为前序线索二叉树、中序线索二叉树和后序线索二叉树三种。
运用VC++编写一个程序实现前序线索二叉树、中序线索二叉树和后序线索二叉树,其中遍历要求用先左后右的递归或非递归算法来实现。
要求:
阐述设计思想,画出流程图;
任意建立一棵二叉树,采用前序、中序、后序三种方法线索化二叉树;
说明测试方法,写出完整的运行结果;
从时间、空间对算法分析;
较好的界面设计;
编写课程设计报告。
以上要求中第一个阶段的任务完成后,先将设计说明书的草稿交指导老师面审,审查合格后方可进入后续阶段的工作。设计工作结束后,经指导老师验收合格后将设计说明书打印装订,并进行答辩。指导教师(签字):教研室主任(签字):批准日期:年 月 日
摘 要
这是一个关于线索二叉树的程序,该程序具有创建二叉树、遍历二叉树、线索化二叉树。其中,遍历和线索化都包含了先、中、后三种序列,而且对三种序列线索化后的二叉树也进行了遍历。该程序采用VC 6.0作为软件开发环境,采用C语言的各种语句和结构实现二叉树的一系列操作,并采用友好的界面向用户提供所操作的过程和数据状态,操作简单,界面清晰,易于被用户所接受。
关键字:线索化;遍历;二叉树;先序;中序;后序目 录
1 课题描述 1
2 任务分析 2
3 逻辑设计及描述 3
3.1二叉树的存储 3
3.2 二叉树的遍历 4
3.3 二叉树的线索化 4
3.4 线索化二叉树的遍历 7
3.5 主函数 10
4 程序编码 12
总结 21
参考文献 22
1 课题描述
本程序重在设计二叉树的各种线索化实现,以C语言作为编程语言,实现对二叉树的先、中、后三种序列的线索化。旨在使用户在使用过程中能直接调用各种所需函数,以及了解二叉树的各种线索化过程。其中各函数分别为:
BiThrTree CreateBiTree();BiThrTree CopyBiTree(BiThrTree rt)//复制一棵二叉树;
void PreOrderTraverse(BiThrTree T)//先序遍历二叉树;
void InOrderTraverse(BiThrTree T) //中序遍历二叉树;
void PostOrderTraverse(BiThrTree T)//后序遍历二叉树;
bool PreOrderThreading(BiThrTree Thrt, BiThrTree T)//先序线索化二叉树;
void PreThreading(BiThrTree p)//先序搜索结点的建立;
bool InOrderThreading(BiThrTree Thrt, BiThrTree T)//中序线索化二叉树;
void InThreading(BiThrTree p)//中序搜索结点的建立;
void backThreading(BiThrTree p)//后序搜索结点的建立;
BiThrTree backorderThreading(BiThrTree rt)//后序线索化二叉树;
BiThrTree parent(BiThrTree thrt,BiThrTree p)//查找结点
void PreOrderTraverse_Thr(BiThrTree Thrt
您可能关注的文档
- 《数据库课程设计_考试及试题库系统毕业设计(论文)word格式》.doc
- 《数据库课程设计实验报告-图书馆管理系统》.doc
- 《数据库课程设计学生选课管理系统》.doc
- 《数据库课程设计报告-人事管理系统课程设计报告》.doc
- 《数据库课程设计报告- 成绩管理系统》.docx
- 《数据库课程设计报告- 学生学籍管理系统》.doc
- 《数据库课程设计报告-个人记账系统》.doc
- 《数据库课程设计-教师工资管理系统》.doc
- 《数据库课程设计-学生选课系统》.doc
- 《数据库课程设计任务书超市管理系统》.doc
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)