实验五 树的基本操作
1.实验目的:
熟悉树的基本定义,树的存储方式、建立方法及相关基本操作,能够根据实际情况选择合适的存储结构。
2.实验内容:
以二叉链表作存储结构,试编写前序、中序、后序遍历二叉树的算法。
3.正文部分
①什么是树?
一种非线性结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。这个数据结构的形状看起来像一颗叶子朝下倒挂的树。
- 根节点:没有父节点的结点成为根节点。
- 叶节点:没有子节点的结点称为叶子结点。
②什么是二叉树?
一颗二叉树是结点的一个有限集合,该集合或者为空,或者是一个根节点加上两颗别称为左子树和右子树的二叉树组成
二叉树的特点:
1.每个节点最多有两颗子树,即二叉树不存在大于2的结点。
2.二叉树的子树有左右之分,其子树的次序不能颠倒。
③先序遍历
先访问根节点,然后再访问左子树,最后再访问右子树。
根据题目的要求,我们需要通过动态内存开辟的空间去存储。
根据先序的特点,如果我们的头结点为空的话,那么我们就可以直接返回空。
否则我们就要将该节点的值插入二叉树,再去访问左子树和右子树。
④中序遍历
先访问左子树,然后再访问根节点,最后再访问右子树。
⑤后序遍历
先访问左子树,然后再访问右子树,最后再访问根节点。
完整源码下载:数据结构——树的基本操作