- 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
- 房屋租赁合同(模板)汇.docx
- 房屋建筑施工组织设计汇.doc
- 房地产项目户型的核心竞争因素的研究-127PPT汇.ppt
- 房建工程监理细则汇.doc
- 手指游戏大集合1(大、中、小班)—幼儿园大班游戏教案汇.doc
- 房建施工组织设计汇.doc
- 手术室常见基本技能操作评分标准汇.doc
- 届高三次模拟考试数学试卷.pdf
- 立德树人演讲稿锦集五篇.pdf
- 2024山东公共课程《基本医疗卫生与健康促进法》题库答案.docx
- 2024山东公共课程《山东省病例书写与管理基本规范》2020版题库答案.docx
- 人教五级英语上册unit 3测试卷.pdf
- 8.1我们的梦想-课件 2024-2025学年统编版道德与法治九年级上册.pptx
- 3.1生活在新型民主国家-课件 2024-2025学年统编版道德与法治九年级上册.pptx
- 6.2共筑生命家园-课件 2024-2025学年统编版道德与法治九年级上册.pptx
- 1.2走向共同富裕-课件 2024-2025学年统编版道德与法治九年级上册.pptx
- 5.2凝聚价值追求-(教学设计) 2024-2025学年统编版道德与法治九年级上册.doc
文档评论(0)