数据结构课程设计之-树与二叉树的转换课案
衡阳师范学院
《数据结构》课程设计
题 目: 树与二叉树的转换
系 别: 计算机科学系
专 业: 计算机科学与设计
班 级: 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++
您可能关注的文档
最近下载
- 2024-2030年阿尔茨海默病(AD)诊断和治疗市场调研及前景预测报告.docx VIP
- 中国医疗器械行业蓝皮书2025版.docx VIP
- 宏观经济学教案(高鸿业).doc VIP
- 销售公司廉洁培训课件.ppt
- 建筑工程技术创新方案(3篇).docx
- CATIAV5对象模型解析:VB二次开发教程.pdf VIP
- 天津市南开区2025-2026学年八年级上学期期末数学试卷(含答案).pdf VIP
- 华东师大版八年级下第8课历史转折与改革开放的起步课件(共31张PPT).ppt VIP
- 护理查房1例心肌梗死合并心力衰竭护理查房.pptx VIP
- 2025年人教版八年级历史 下册 第三单元 第9课 对外开放 课件(共49张PPT).pptx VIP
原创力文档

文档评论(0)