- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计-线索二叉树的应用.
安徽省巢湖学院计算机与信息工程学院
课程设计报告
课程名称 《数据结构》
课题名称 线索二叉树的应用
专 业 计算机科学与技术
班 级 10计本2班
学 号
姓 名
联系方式
指导教师
20 11 年 12 月 25 日
目 录
1、数据结构课程设计任务书 1
1.1、题目 1
1.2、要求 1
2、总体设计 1
2.1、数据输入输出 1
2.2、设计算法测试用例 1
2.2、流程图 2
3、详细设计 2
3.1、程序中所采用的数据结构及存储结构的说明 4
3.2、算法的设计思想 5
4、调试与测试: 6
4.1、调试方法与步骤: 6
4.2、测试结果的分析与讨论: 6
6、源程序清单和执行结果 9
7、C程序设计总结 17
8、致谢 17
9、参考文献 18
1、数据结构课程设计任务书
1.1、题目
1.2、要求实现线索树建立、插入、删除、恢复线索的实现。
2、总体设计
2.1、数据输入输出:
原始数据要求输入二叉树的7个结点:1234567,输出的是一个二叉树,这就实现了二叉树的建立过程。然后对二叉树进行线索化。对其进行插入:在7结点处插入结点8;删除:删除结点8;恢复线索等功能。
进行二叉树的初始化,依次输入,以*结束:
1234567*
线索二叉树的应用
****************************
1、进行二叉树线索化
2、进行插入操作
3、删除
4、中序输出
5、线索输出
0、退出
请选择:1
已经实现二叉树的线索化,可选择5查看线索。
2.2、设计算法测试用例:
(1)输入结点:1234567;(2)对输入的二叉树进行线索化;(3)查看二叉树的中序线索输出:4-2-5-1-6-3-7;(4)在7结点处插入结点8,此时完成线索化恢复,查看二叉树的中序线索输出:4-2-5-1-6-3-8-7;(5)删除结点8,此时完成线索化恢复,发现结点8,ltag=1,rtag=1,查看二叉树的中序线索输出:4-2-5-1-6-3-7;(6)继续删除结点r,发现无该结点,则输入错误。
2.3、流程图
3、详细设计void main()
{
Bithptr *T;
int i;
//system(color 1a);
T=CreatTree();
printf(\n);
i=1;
while(i)
{
printf(\t1 进行二叉树线索化\n);
printf(\t2 进行插入操作\n);
printf(\t3 进入删除操作\n);
printf(\t4 中序输出\n);
printf(\t5 线索输出\n);
printf(\t0 退出\n);
printf(\t 请选择:);
scanf(%d,i);
printf(\n);
switch(i)
{
case 1:PreThread(T);
printf(\t已经实现二叉树的线索化\n);
printf(\n);
break;
case 2:Insert(T);printf(\n);break;
case 3:T=DeleteNode(T);printf(\n);break;
case 4:Inorder(T);
printf(\n);
break;
case 5:PrintIndex(T);break;
case 0:exit(1);
default:printf(error\n\t请继续选择:);
}
}
}
void PreThread(Bithptr *root) //中序线索化算法,函数实现
{
Bithptr *p;
p=root;
if(p){
PreThread(p-lchild);//线索化左子树
if(prepre-rtag==1)pre-rchild=p; //前驱结点后继线索化
if(p-lchild==NULL)
{
p-ltag=1;
p-lchild=pre;
}
if(p-rchild==NULL) //后继结点前驱线索化
p-rtag=1;
pre=p;
PreThread(p-rchild);
}
}
3.1、程序中所采用的数据结构及存储结构的说明)
约定:
Ltag=0 //表示lchi
您可能关注的文档
- 手机彩信学英语..doc
- 手机品牌的营销策略分析..pptx
- 手机网站建设方案..doc
- 手机摄影用户行为分析报告(亚洲篇)..pptx
- 手机行业包装调研报告-080919..doc
- 手足口护理..ppt
- 手足口病PPT课件..ppt
- 手足口病幻灯片..ppt
- 手足口病临床诊治..ppt
- 手足口病防治知识..ppt
- 【建筑实务】周超 教材精讲班课件 37-第3章-3.4-主体结构工程施工(四).ppt
- 【民航实务】高永志 课程精讲班课件 35-第3章-3.7、3.8-民航空管配套工程、空管工程新技术.pptx
- 【民航实务】高永志 课程精讲班课件 38-第4章-民航机场弱电系统工程技术(三).pptx
- 【建筑实务】周超 冲刺串讲班课件 13-第3篇-建筑工程项目管理实务(七).pptx
- 【建筑实务】周超 冲刺串讲班课件 17-第3篇-建筑工程项目管理实务(十一).pptx
- 【民航实务】高永志 课程精讲班教案 47-第5章-民航机场目视助航工程技术(五).docx
- 【民航实务】高永志 课程精讲班教案 23-第2章-2.5、2.6、2.7-飞行区桥梁及涵隧工程、飞行区附属主要设施、飞行区场道工程新技术.docx
- 【民航实务】高永志 课程精讲班课件 49-第5章-民航机场目视助航工程技术(七).pptx
- 【民航实务】高永志 习题精析班课件 06-第六讲.pptx
- 【民航实务】高永志 习题精析班课件 04-第四讲.pdf
文档评论(0)