数据结构课程设计之-树与二叉树的转换

数据结构课程设计之-树与二叉树的转换

ID:9860282

大小:630.00 KB

页数:14页

时间:2018-05-12

数据结构课程设计之-树与二叉树的转换_第1页
数据结构课程设计之-树与二叉树的转换_第2页
数据结构课程设计之-树与二叉树的转换_第3页
数据结构课程设计之-树与二叉树的转换_第4页
数据结构课程设计之-树与二叉树的转换_第5页
资源描述:

《数据结构课程设计之-树与二叉树的转换》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、纲要一程序设计要求与目的二存储结构设计三算法设计(流程图)四详细设计(源代码)五调试与分析六实验总结七参考文献14第一章程序设计要求与目的题目:树与二叉树的转换的实现。以及树的前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。第二章存储结构设计引入头文件:#include#include#include设置常量:#defineMAX_TREE_SIZE100一般树的存储结构有以下几种:双亲结点,孩子结点,孩子兄弟结点。本实

2、验运用到的是双亲结点和孩子兄弟结点。具体存储结构如下:/*树的双亲表示结点结构定义*/typedefstruct{intdata;intparent;//双亲位置域}PTNode;/*双亲表示法树结构*/typedefstruct{PTNodenode[MAX_TREE_SIZE];intcount;//根的位置和节点个数}PTree;/*树的孩子兄弟表示结点结构定义*/typedefstructnode{intdata;structnode*firstchild;structnode*rightsib;}BT

3、Node,*BTree;14第三章算法设计(流程图)流程图:退出程序层次遍历开始双亲法建树按照格式输入各个结点输出树的结点情况1主菜单前序遍历(递归)后序遍历(递归)前序遍历(非递归)后序遍历(非递归)输出遍历结果副菜单退出程序2354006914第四章详细设计(源代码)详细设计共有以下函数的实现:树的初始化函数(双亲法和孩子结点法两种),建树函数,输出树函数,树的前序遍历函数(递归和非递归两种),树的后序遍历函数(递归和非递归两种),树的层次遍历函数,一般树和二叉树的转换函数。主菜单和副菜单。主函数。具体代码

4、如下://初始化树(双亲表示法)voidinit_ptree(PTree*tree){tree->count=-1;}//初始化树结点(孩子兄弟表示法)BTNodeGetTreeNode(intx){BTNodet;t.data=x;t.firstchild=t.rightsib=NULL;returnt;}//树的前序遍历(递归)voidpreorder(BTNode*T){if(T!=NULL){printf("%d",T->data);preorder(T->firstchild);preorder(T-

5、>rightsib);}}//树的前序遍历(非递归)voidpreorder2(PTreeT){inti;for(i=0;ifirstchild);printf("%d",T->data);inoeder(T->rightsib);}}//树后序遍历(非递归)voidinoeder2(PTreeT){inti;for(i

6、=T.count-1;i>=0;i--){printf("%d",T.node[i]);}}//层次遍历voidlevel(PTreeT){inti;for(i=0;irightsib,level+1);for(i=1;i<=8*level;i++)printf(""

7、);printf("-------%d",root->data);PrintBTree(root->firstchild,level+1);}}//输出树voidprint_ptree(PTreetree){inti;printf("序号结点双亲");for(i=0;i<=tree.count;i++){printf("%8d%8d%8d",i,tree.node[i].data,tree.node[i].parent);printf("");}}/*用双亲表示法创建树*/PTreeCreatTre

8、e(PTreeT){inti=1;intfa,ch;PTNodep;for(i=1;ch!=-1;i++){printf("输入第%d结点:",i);scanf("%d,%d",&fa,&ch);printf("");p.data=ch;p.parent=fa;T.count++;T.node[T.count].data=p.data;T.node[T.count].paren

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。