1 / 4
文档名称:

数据结构实验四 树和二叉树.doc

格式:doc   大小:69KB   页数:4
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验四 树和二叉树.doc

上传人:drp539603 2019/12/11 文件大小:69 KB

下载得到文件列表

数据结构实验四 树和二叉树.doc

文档介绍

文档介绍:一、实验目的:掌握二叉树链表的结构的建立过程。掌握用递归方法实现二叉树的遍历。加深对二叉树的理解,逐步培养解决实际问题的编程能力。二、实验要求:编写二叉树的基本操作函数。调用函数实现下列操作。用递归方法分别先序、中序、后序遍历二叉树。三、实验内容:编写二叉树的基本操作函数。TypedefstructBiTNode{TelemTypedata;StructBiTNode*lchild,*rchild;}BiTNode,*BiTree;创建一棵二叉树CreateBiTree(BiTree*T);先序遍历,递归方法re_PreOrder(BiTree*tree)中序遍历,递归方法re_MidOrder(BiTree*tree)后序遍历递归方法re_PostOrderOrder(BiTree*tree)(2)调用上述函数实现二叉树的先序、中序、后序遍历。四、程序的调试及运行结果五、程序代码源程序:#include<>#include<>typedefstructTree{ chardata; structTree*lchild,*rchild;}BiTree;BiTree*CreatTree(BiTree*T)//初始化二叉树{ chari; i=getchar(); if(i=='*')T=NULL; else { if(!(T=(BiTree*)malloc(sizeof(BiTree))))return0; T->data=i; T->lchild=CreatTree(T->lchild); T->rchild=CreatTree(T->rchild); } returnT;}voidre_preOrder(BiTree*T){ if(T) { printf("%c",T->data); re_preOrder(T->lchild); re_preOrder(T->rchild); }}voidre_MidOrder(BiTree*T){ if(T) { re_MidOrder(T->lchild); printf("%c",T->data); re_MidOrder(T->rchild); }}voidre_PostOrder(BiTree*T){ if(T) { re_PostOrder(T->lchild); re_PostOrder(T->rchild); printf("%c",T->data); }}voidmain(){ BiTree*T; printf("先序输入一字符串创建二叉树,如果结点为空,请输入'*':\n");printf("请输入:"); T=CreatTree(T); printf("先序输出序列为:"); re_preOrder(T); printf("\n"); printf("中序输出序列为:"); re_MidOrder(T); printf("\n"); printf("后序输出序列为:"); re_PostOrder(T); printf("\n");