数据结构实验报告3.docx
《数据结构实验报告3.docx》由会员分享,可在线阅读,更多相关《数据结构实验报告3.docx(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构与算法试验报告专业信息与计算科学班级姓名学号试验项目试验三二叉树试验目的1、把握用递归方法实现二叉树的遍历。2、深入对二叉树的理解,逐步培育解决实际问题的编程力量。试验内容题目:编写二叉树的遍历操作函数。先序遍历,递归方法 re preOrder (TREE *tree)中序遍历,递归方法 re_midOrder (TREE *tree)后序遍历,递归方法 re_postOrder (TREE *tree)调用上述函数实现先序、中序和后序遍历二叉树操作。算法设计分析(-)数据结构的定义:二叉树的二叉链表结点存储类型定义typedef struct Node (DataType data
2、;struct Node *LChild;struct Node *RChild;BitNode,*BitTree;(二)总体设计:1 .主程序模块:建立二叉树:void CreatBiTree (BitTree *bt)用扩展先序遍历序列创建二 叉树,假如是当前树根置为空,否则申请一个新节点。2 .编程实现二叉树的前序、中序和后序遍历操作,输出遍历序列:1)先序遍历模块;2)中序遍历模块;3)后序遍历模块;(三)各函数的具体设计:L.建立二叉树存储类型=构造二叉树二二=void CreatBiTree(BitTree *bt)用扩展先序遍历序列创建二叉树,假如是当前树根置 为空,否则申请一个
3、新节点(char ch;ch=getchar ();if(ch=.)*bt=NULL;else(*bt= (BitTree) malloc (sizeof (BitNode); 申请一段关于该节点类型的存储空间(*bt)-data=ch;/生成根结点CreatBiTree(&(*bt)-LChild);构造左子树CreatBiTree (&(*bt)-RChiId); 构造右子树2.编程实现以上二叉树的前序、中序和后序遍历操作,输出遍历序列1)先序遍历二叉树的递归算法如下: void PreOrder(BitTree root) if (root!=NULL) Visit(root -data
4、);PreOrder (root -LChild); 递归调用核心PreOrder (root -RChild); 2)中序遍历二叉树的递归算法如下: void InOrder(BitTree root) if (root!=NULL) InOrder(root -LChild);Visit (root -data);InOrder(root -RChild); 3)后序遍历二叉树的递归算法如下: void PostOrder(BitTree root) if (root!=NULL)PostOrder(root -LChild);PostOrder(root -RChild);Visit (
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验 报告
限制150内