- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计之树与二叉树的转换毕业论文
衡阳师范学院
《数据结构》课程设计
题 目: 树与二叉树的转换
系 别: 计算机科学系
专 业: 计算机科学与设计
班 级: 1302
学生姓名: 戴志豪
学 号:
指导老师: 赵磊
完成日期: 2015年1月3号
目 录
一.需求分析.…………………………………………………………………3
二.概要设析………………………………………………………………….3
三.详细设计………………………………………………………………….5
的建立………………………………………………………………..5 2.一般树转化成二叉树…………………………………………………..6序遍历树的递归算法………………………………………………..7 4.后序遍历树的递归………………………………………………..7
5.先序遍历树的非递归算法……………………………………………..7序遍历树的非递归算法……………………………………………..8
7.序非递归的算法…………………………………………………..设计与调试分析………………………………………………………….0
五.用户………………………………………………………………….10
六.测试结果………………………………………………………………….11附录程序)………………………………………………………….14总结……………………………………………………………………….20
一.需求分析
本程序的功能是对任意树进行递归前序遍历和后序遍历,以及实现的用到的建立与二叉树的转换算法后序二叉树的递归递归算法序遍历算法
1建立
2*i+1 的值存入左孩子,为2*i+2的存入右孩子。 BiNode creat(),BiNode stree_creat(char *a,int k)。
2一般树转化成二叉树void exchange(),class Tree
3先序遍历树的递归算法
1)访问根结点;(2)先序遍历左子树;(3)先序遍历右子树。void PreOrder(BiNode root)。
4后序遍历树的递归算法
1)后序遍历左子树;(2)后序遍历右子树。(3)访问根结点;void PostOrder(BiNode root)。
5先序遍历树的非递归算法
1)先将根节点进栈,在栈不为空时循环2)出栈p,访问*p若右孩子节点不空将右孩子节点进栈若左不空时其左孩子节点进栈。的非递归算法
一个栈保存需要返回的指针,先扫描根节点所有的左孩子节点并一一进栈,出栈一个节点*b作为当前节点,然后扫描节点的右子树。当节点的左右孩子节点均访问后再访问节点,如此重复操作,直到栈空为止。序的遍历
void LevelOrder(BiNode root)。
详细设计
1树的建立PTree CreatTree(PTree T)
{
int i=1;
int fa,ch;
PTNode p;
for(i=1;ch!=-1;i++)
{
printf(输入第%d结点:\n,i);
scanf(%d,%d,fa,ch);
printf(\n);
p.data=ch;
p.parent=fa;
T.count++;
T.node[T.count].data = p.data;
T.node[T.count].parent = p.parent;
}
printf(\n);
printf(创建的树具体情况如下:\n);
print_ptree(T);
return T;
2一般树转换成二叉树BTNode *change(PTree T)
{
int i,j=0;
BTNode p[MAX_TREE_SIZE];
BTNode *ip,*is,*ir,*Tree;
ip=(BTNode *)malloc(sizeof(BTNode));
is=(BTNode *)malloc(sizeof(BTNode));
ir=(BTNode *)malloc(sizeof(BTNode));
Tree=(BTNode *)malloc(sizeof(BTNode));
for(i=0;iT.count;i++)
{
p[i]=GetTreeNode(T.node[i].data);
}
for(i=1;iT.count;i++)
{
ip=p[i];
is=p[j];
while(T.node[i].parent!=is-data)
{
j++
您可能关注的文档
- 华润超市论文毕业论文.doc
- 校友录的开发与应用毕业论文.doc
- 我国民营企业融资现状及对策分析毕业设计.doc
- 水富县高滩区绿地景观规划设计毕业论文.doc
- 燃气输配工程管道安装施工-组织设计-方案书毕业设计.doc
- 旅游信息管理网站的设计与实现说明书毕业论文.doc
- 煤化工物联网架构案例解析-物联网应用技术物联网应用开发毕业论文.doc
- 110kv线路工程设计方案说明书文本书毕业设计.doc
- 三清山博物馆安全防范工程设计方案说明书毕业设计.doc
- 8﹡8点阵led字符显示器毕业设计.doc
- 内蒙古伊利实业集团股份有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版及.docx
- 农夫山泉股份有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版必考题.docx
- 南京三龙水泥有限责任公司校园招聘模拟试题附带答案详解完整.docx
- 南昌钢铁有限责任公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版推荐.docx
- 兴源轮胎集团有限公司校园招聘模拟试题附带答案详解1套.docx
- 内蒙古兰太实业股份有限公司校园招聘模拟试题附带答案详解及参考答案1套.docx
- 南京医药产业有限责任公司校园招聘模拟试题附带答案详解及参考答案.docx
- 利胜电光源(厦门)有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解版及参考.docx
- 冷水江钢铁有限责任公司校园招聘模拟试题附带答案详解完美版.docx
- 南宁化工股份有限公司校园招聘模拟试题附带答案详解参考答案.docx
最近下载
- 辩论赛培训PPT课件.pptx
- 2025年天津继续教育公需课考试答案-为中国式现代化提供强大动力和制度保障.docx VIP
- 一起非法运输烟花爆竹药料爆炸事故-事故案例-案例分析-爆炸事故.docx
- 11-《卓有成效的管理者》电子版.pdf
- 新青岛版六年级下册科学15太阳系(动画版).pptx
- Haier海尔241升风冷定频两门冰箱 BCD-241WDCV说明书用户手册.pdf
- 2025年部编版新教材语文小学一年级下册全册教案(含教学计划).docx
- 【高考生物】备战2025年高考易错题(新高考专用)易错点14 群落常见的“四个”理解误区(原卷版).docx
- 党风培训ppt课件.pptx VIP
- 领湃科技:衡阳弘新建设厂房和附属设施设备、机器设备租金价值资产评估报告.docx
文档评论(0)