实验三
一、实验题目
前序遍历二叉树
二、实验目的
⑴ 掌握二叉树的逻辑结构;
⑵ 掌握二叉树的二叉链表存储结构;
⑶ 验证二叉树的二叉链表存储及遍历操作。
三、实验内容
⑴ 建立一棵含有n个结点的二叉树,采用二叉链表存储;
⑵ 输出前序遍历、中序遍历、后序遍历和层序遍历该二叉树的遍历结果。
实现提示
定义二叉树的数据类型——二叉树结点结构体BiNode,在BiNode基础上实现题目要求的建立二叉链表、前序遍历、中序遍历、后序遍历和层序遍历等基本操作。建立二叉链表可以采用扩展二叉树的一个遍历序列,例如前序序列,将扩展二叉树的前序序列由键盘输入,建立该二叉树的二叉链表存储。
简单起见,本实验假定二叉树的数据元素为char型,要求学生:
(1)将实验程序调试通过后,加入中序遍历、后序遍历和层序遍历层序遍历二叉树的基本操作。
演示类实验
前序遍历、中序遍历、后序遍历和层序遍历二叉树
程序代码:
/*前序遍历、中序遍历、后序遍历和层序遍历二叉树*/
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define MaxSize 20
typedef char DataType;
typedef struct BiNode
{
DataType data;
struct BiNode *lchild,*rchild;
}BiNode;
BiNode *CreatBiTree()
{
char ch;
BiNode *root;
scanf("%c",&ch);
fflush(stdin);