数据结构课程设计 设计说明书
线索二叉树算法的实现
学生姓名 学班成
号 级 绩
XX XXXXXXX XXXXX
XXX
指导教师
计算机科学与技术系 XXXX 年X月X日
数据结构课程设计评阅书
题 目 学生姓名 线索二叉树算法的实现 XX 学号 XXXXXXX 指导教师评语及成绩 成绩: 教师签名: 年 月 日 答辩教师评语及成绩 成绩: 教师签名: 年 月 日 教研室意见 总成绩: 室主任签名: 年 月 日 注: 指导老师成绩60%,答辩成绩40%,总成绩合成后按五级制计入。
课程设计任务书 2011—2012学年第1学期
专业: 计算机科学与技术 学号: XXXXXXX 姓名: XXXX
课程设计名称: 数据结构课程设计 设 计 题 目: 线索二叉树的实现 完 成 期 限:自2011 年 8 月 29 日至 2011 年 9 月 9 日共 2 周 设计内容:
n个结点的二叉链表中含有n+1个空指针域。利用二叉链表中的空指针域,存放指向结点在某种遍历次序下的前趋和后继结点的指针(这种附加的指针称为\线索\)。这种加上了线索的二叉树称为线索二叉树(Threaded BinaryTree)。对一棵非线索二叉树以某种次序遍历使其变为一棵线索二叉树的过程称为二叉树的线索化。由于线索化的实质是将二叉链表中的空指针改为指向结点前驱或后继的线索,而一个结点的前驱或后继结点的信息只有在遍历时才能得到,因此线索化的过程即为在遍历过程中修改空指针的过程。根据线索性质的不同,线索二叉树可分为前序线索二叉树、中序线索二叉树和后序线索二叉树三种。
运用VC++编写一个程序实现前序线索二叉树、中序线索二叉树和后序线索二叉树,其中遍历要求用先左后右的递归或非递归算法来实现。 要求:
1) 阐述设计思想,画出流程图;
2) 任意建立一棵二叉树,采用前序、中序、后序三种方法线索化二叉树;
3) 说明测试方法,写出完整的运行结果; 4) 从时间、空间对算法分析; 5) 较好的界面设计; 6) 编写课程设计报告。
以上要求中第一个阶段的任务完成后,先将设计说明书的草稿交指导老师面审,审查合格后方可进入后续阶段的工作。设计工作结束后,经指导老师验收合格后将设计说明书打印装订,并进行答辩。
指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日
摘 要
这是一个关于线索二叉树的程序,该程序具有创建二叉树、遍历二叉树、线索化二叉树。其中,遍历和线索化都包含了先、中、后三种序列,而且对三种序列线索化后的二叉树也进行了遍历。该程序采用VC 6.0作为软件开发环境,采用C语言的各种语句和结构实现二叉树的一系列操作,并采用友好的界面向用户提供所操作的过程和数据状态,操作简单,界面清晰,易于被用户所接受。
关键字:线索化;遍历;二叉树;先序;中序;后序
目 录
1 课题描述 .................................................. 1 2 任务分析 .................................................. 2 3 逻辑设计及描述 ............................................ 3 3.1二叉树的存储 ........................................... 3 3.2 二叉树的遍历 ........................................... 4 3.3 二叉树的线索化 ......................................... 5 3.4 线索化二叉树的遍历 ..................................... 9 3.5 主函数 ............................................... 14 4 程序编码 ................................................. 16 总结 ....................................................... 26 参考文献 ................................................... 27
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新资格考试认证线索化二叉树的实现 全文阅读和word下载服务。
相关推荐: