实验八二叉树的建立与遍历
一、实验目的
掌握二叉树的类型定义和二叉树的建立和遍历方法。
二、预备知识
二叉树常用的存储结构是二叉链表形式,二叉链表由一个数据项data(用于存放结点的值)和两个指针项lchild、rchild(分别指向该结点的左、右子树)。类型定义如下:
typedef struct BiTNode //二叉树的二叉链表存储
{二叉树定义
TElemType data;
struct BiTNode *lchild, *rchild; //左右孩子指针
} BiTNode, *BiTree;
三、实验题目
按先序序列构造一棵二叉链表表示的二叉树T,并输出该T的中序遍历序列。实现提示:
1)按先序序列建立一棵二叉树时,先构造根结点,再构造根的左子树,然后构造右子树;每棵子树又都是二叉树,所以构造一棵子树的过程与构造整棵二叉树的过程完全相同(采用递归形式直到叶子结点为止)。
2)先序序列的输入:从键盘输入任意一棵二叉树的先序序列,用#代表空指针,如下图所示的二叉树,输入的先序序列为:ab#d##c##)。
四、实验要求
1)二叉树的类型定义和二叉树构建、中序遍历函数声明放在BitTree.件;
2)二叉树构建、中序遍历的实现放在BitTree.c文件;
3)测试程序放在BitTreeTestApp.c中;
4)2012年11月16日前完成此作业的提交。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论