《实验报告(二叉树).docx》由会员分享,可在线阅读,更多相关《实验报告(二叉树).docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据结构实验报告实验名称:二叉树学院:通信与信息工程学院班级:通工1414班姓名:陈靖瑶学号:05141133班内序号:14任课教师:陈琳老师实验日期:2015. 11成绩:一.运行程序#include #include#include#define ElemType char节点声明,数据域、左孩子指针、右孩子指针 typedef struct BiTNodeElemType data;struct BiTNode *lchild,*rchild;BiTNode,*BiTree;先序建立二叉树BiTree CreateBiTree()char ch;BiTree T;scanf(H%cn,&
2、ch);if(ch=#)T=NULL;elseT = (BiTree)malloc(sizeof(BiTNode);T-data = ch;T-lchild = CreateBiTree();T-rchild = CreateBiTree();return T; 返回根节点)先序遍历二叉树void PreOrderTraverse(BiTree T)if(T)printf(n%cn,T-data);PreOrderTraverse(T-lchild);PreOrderTraverse(T-rchild);)中序遍历void InOrderTraverse(BiTree T)if(T)InOrd
3、erTraverse(T-lchild);printf(H%cn,T-data);InOrdcrTravcrsc(T-rchild);)后序遍历void PostOrderTraverse(BiTree T)if(T)PostOrderTraverse(T-lchild);PostOrderTraverse(T-rchild); printf(n%cn,T-data);) void PreOrderleaf(BiTree T)/*先序遍历输出二叉树中叶结点,丁为二叉树根结点的指针*/ if (T!=NULL)if(T -lchild=NULL & T -rchild=NULL) printf(
4、n%cn,T-data);/* 输出叶结点 */PreOrderleaf(T -lchild); /* 先序遍历左子树 */ PreOrderleaf(T -rchild);先序遍历右子树 */)int D叩th (BiTree T)/返回二叉树的深度int depthLeft=O;int depthRight=O;int depthval=O;if (T =NULL) depthval = 0;else depthLeft = Depth( T-lchild );depthRight= Depth( T-rchild);depthval = 1 + (depthLeft depthRight
5、 ? depthLeft: depthRight); )return depthval;void main()BiTrcc T;int depthval=0;T 二 CreateBiTree。;/建立 PostOrdeiTraverse(T);/输出 printf(”n);PreOrderleaf(T);输出叶子节点printf(nnn);depthval= Depth (T);printf(n%d, depthval);getchar();)二.运行结果J Mg11 ! L RB a M-77M D:zhouhengcourseschcxjlljS3E4?gS5W ( 2015.11.25 ) Mytree.exe lABDGttttHttttttCttEFttttttGHDBFECA GHF 4Process exited after 342请按任意键继续 J .8 seconds with return value 0J WF