实验五 二叉树的操作及应用

~~

实验五 二叉树的操作及应用

~~

一、实验实习目的及要求

掌握二叉树的定义、结构特征,以及各种存储结构的特点及使用范围,各种遍历算法。掌握指针类型描述、访问和处理二叉树的运算。掌握前序或中序的非递归遍历算法。

二、实验实习设备(环境)及要求(软硬件条件)

7实验室,使用VC上机调试出正确结果

三、实验实习项目、内容与步骤

程序代码给出了该二叉树的链式存储结构的建立、前序、中序、后序遍历的算法,同时也给出了查询“E”是否在二叉树里的代码。代码有三处错误,有标识,属于逻辑错误,对照书中的代码仔细分析后,请修改了在电脑里运行。

四、实验实习所得结果及分析

1、前序遍历是先遍历节点,再先序遍历左子树,最后先序遍历右子树。

visit(t->data);
PreOrder(t-> leftChild, visit);
PreOrder(t-> rightChild, visit);

2、 中序遍历是先中序遍历左子树,再遍历节点,最后中序遍历右子树。

InOrder(t->leftChild, visit);
visit(t->data);
InOrder(t->rightChild, visit);

3、 后序遍历是先后序遍历左子树,再后序遍历右子树,最后遍历节点。

PostOrder(t->leftChild, visit);
PostOrder(t->rightChild, visit);
visit(t->data);

五、实验实习结果分析和(或)源程序调试过程

前序遍历和中序遍历的非递归算法如下所示

#include <stdlib.h>
#include <stdio.h>
#define NULL 0
#define M 100
typedef char DataType;
typedef struct Node 
{
   
DataType data;/*数据域*/
struct Node *leftChild;/*左子树指针*/
struct Node 
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值