二叉树基本操作--实验报告.doc
《二叉树基本操作--实验报告.doc》由会员分享,可在线阅读,更多相关《二叉树基本操作--实验报告.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验三二叉树的基本操作学院:物理与电子学院班级:电信1105班姓名:刘岩学号:1404110729一、实验目的1、熟悉二叉树的基本操作,掌握二叉树的实现以及实际应用。3、加深对于二叉树的理解,逐步培养解决实际问题的编程能力。二、实验环境1台WINDOWS环境的PC机,装有Visual C+ 6.0。三、实验内容1、问题描述现需要编写一套二叉树的操作函数,以便用户能够方便的利用这些函数来实现自己的应用。其中操作函数包括:1 创建二叉树CreateBTNode(*b,*str):根据二叉树括号表示法的字符串*str生成对应的链式存储结构。2 输出二叉树DispBTNode(*b):以括号表示法输出
2、一棵二叉树。3 查找结点FindNode(*b,x):在二叉树b中寻找data域值为x的结点,并返回指向该结点的指针。4 求高度BTNodeDepth(*b):求二叉树b的高度。若二叉树为空,则其高度为0;否则,其高度等于左子树与右子树中的最大高度加l。5 求二叉树的结点个数NodesCount(BTNode *b)6 先序遍历的递归算法:void PreOrder(BTNode *b) 7 中序遍历的递归算法:void InOrder(BTNode *b) 8 后序遍历递归算法:void PostOrder(BTNode *b) 9 层次遍历算法void LevelOrder(BTNode
3、*b)2、基本要求实现以上9个函数。主函数中实现以下功能:创建下图中的树b输出二叉树b找到H节点,输出其左右孩子值输出b的高度输出b的节点个数输出b的四种遍历顺序ABDCEHJKLMNFGI3、程序编写上图转化为二叉树括号表示法为A(B(D,E(H(J,K(L,M(,N),C(F,G(,I)程序:#include #include #define MaxSize 100typedef char ElemType;typedef struct nodeElemType data;/*数据元素*/struct node *lchild;/*指向左孩子*/struct node *rchild;/*
4、指向右孩子*/ BTNode;void CreateBTNode(BTNode *&b,char *str);/创建BTNode *FindNode(BTNode *b,ElemType x);/查找节点int BTNodeHeight(BTNode *b);/求高度void DispBTNode(BTNode *b);/输出int NodesCount(BTNode *b);/二叉树的结点个数void PreOrder(BTNode *b);/先序遍历递归void InOrder(BTNode *b);/中序遍历递归void PostOrder(BTNode *b);/后序遍历递归void
5、LevelOrder(BTNode *b);/层次遍历/创建void CreateBTNode(BTNode *&b,char *str)BTNode *StMaxSize,*p=NULL;int top=-1,k,j=0;char ch;b=NULL;ch=strj;while(ch!=0)switch(ch)case (:top+;Sttop=p;k=1;break;case ):top-;break;case ,:k=2;break;default:p=(BTNode *)malloc(sizeof(BTNode);p-data=ch;p-lchild=p-rchild=NULL;if(
6、b=NULL)b=p;elseswitch(k)case 1:Sttop-lchild=p;break;case 2:Sttop-rchild=p;break;j+;ch=strj;/输出void DispBTNode(BTNode *b)if(b!=NULL)printf(%c,b-data);if(b-lchild!=NULL|b-rchild!=NULL)printf();DispBTNode(b-lchild);if(b-rchild!=NULL)printf(,);DispBTNode(b-rchild);printf();/查找节点BTNode *FindNode(BTNode *
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二叉 基本 操作 实验 报告
限制150内