数据结构实验报告3.docx
《数据结构实验报告3.docx》由会员分享,可在线阅读,更多相关《数据结构实验报告3.docx(5页珍藏版)》请在第一文库网上搜索。
1、青岛理工大学数据结构课程实验报告课程名称数据结构班级计算121实验日期姓名容康宁学号201207026实验成绩实验名称实验三二叉树基本操作实验目的及要求实验目的:1 .熟悉二叉树结点的结构和对二叉树的基本操作。2 .掌握对二叉树每一种操作的具体实现。3 .学会利用递归方法编写对二叉树这种递归数据结构进行处理的算法。实验环境硬件平台:计算机软件平台:win7编程环境:vc6.0实验内容实验内容该程序的功能是实现二叉树结点的类型定义和对二叉树的基本操作。该程序包括二叉树结构类型以及每一种操作的具体的函数定义和主函数。定义DataType为char类型typedefcharDataType;二叉树的
2、结点类型typedefstructBitNode(DataTypedata;structBitNode*IchiId,*rchi1d;BitNoder*BitTree;初始化二叉树,即把树根指针置空voidBinTreeInit(BitTree*BT)按先序次序建立一个二叉树voidBinTreeCreat(BitTree*BT)检查二叉树是否为空intBinTreeEmpty(BitTree*BT)按任一种遍历次序(包括按先序、中序、后序、按层次)输出二叉树中的所有结点voidBinTraverse(BitTree*BT)求二叉树的深度intBinTreeDepth(BitTreeBT)求二
3、叉树中所有结点数intBinTreeCount(BitTreeBT)清除二叉树,使之变为空树voidBinTreeC1ear(BitTree*BT)算法描述及实验步骤定义DataTyPe为char类型tyedefcharDataType;二叉树的结点类型typedefstructBitNode(DataTypedata;structBitNode*1chi1d,*rchi1d;JBitNodez*BitTree;基本操作的算法:初始化二叉树,即把树根指针置空voidBinTreeInit(BitTree&T)(T=NU11;按先序次序建立一个二叉树intBinTreeCreat(BitTree
4、&T)charch;scanf(,%cch);+getchar();if(ch=,)T=NU11;e1se(if(!(T=(BitNode*)ma11oc(sizeof(BiNode)return(OVERF1OW);T-data=ch;BinTreeCreat(T-1chi1d);BinTreeCreat(T-rchi1d);returnOK;)检查二叉树是否为空intBinTreeEmpty(BitTree&T)(if(!T)return1;e1sereturnO;)先序输出二叉树中的所有结点intBinTraverse(BitTree&T)if(T)Printf(t4%c,T-data)
5、;if(BinTraverse(T-1chi1d)if(BinTraverse(T-rchi1d)returnOK;returnERROR;Ie1sereturnOK;求二叉树的深度inidepth(BitTree&T)inidepthva1,m,n;if(!T)(dethva1=O;e1se(m=deih(T-1chi1d);n=depth(T-rchi1d);dethva1=1+(mn?m:n);returndepthva1;求二叉树中所有结点数intBinTreeCount(BitTree&T)(if(!T)return();e1seBinTreeCount(T-1chi1d);m+;B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验 报告