数据结构-二叉树的存储结构和遍历算法(四)
2017-03-15 16:03
387 查看
二叉树的顺序存储结构就是用一维数组存储二叉树的结点,并且结点的存储位置,也就是数组的下标要能体现结点之间的逻辑关系。
顺序存储结构一般只用于完全二叉树。
二叉链表
二叉树每个结点最多有两个孩子,所以为它设计一个数据域和两个指针域,我们成这样的链表叫做二叉链表。
二叉树的遍历是指从根结点出发,按照某种次序访问二叉树中所有结点,使的每个结点都被访问一次且仅被访问一次。
二叉树遍历方法:
①前序遍历
规则是若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子树,再前序遍历右子树。
②中序遍历
规则是若树为空,则空操作返回,否则从根结点开始(注意并不是先访问根结点),中序遍历根结点的左子树,然后是访问根结点最后中序遍历左子树。
③后序遍历
规则是若树为空,则空操作返回,否则从左到右先叶子后结点的方式遍历访问左右子树,最后是访问根结点。
④层序遍历
规则是若树为空,则空操作返回,否则从树的第一层,也就是根结点开始访问,从上而下逐层遍历,在同一层中,按从左到右的顺序对结点逐个访问。
顺序存储结构一般只用于完全二叉树。
二叉链表
二叉树每个结点最多有两个孩子,所以为它设计一个数据域和两个指针域,我们成这样的链表叫做二叉链表。
二叉树的遍历是指从根结点出发,按照某种次序访问二叉树中所有结点,使的每个结点都被访问一次且仅被访问一次。
二叉树遍历方法:
①前序遍历
规则是若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子树,再前序遍历右子树。
②中序遍历
规则是若树为空,则空操作返回,否则从根结点开始(注意并不是先访问根结点),中序遍历根结点的左子树,然后是访问根结点最后中序遍历左子树。
③后序遍历
规则是若树为空,则空操作返回,否则从左到右先叶子后结点的方式遍历访问左右子树,最后是访问根结点。
④层序遍历
规则是若树为空,则空操作返回,否则从树的第一层,也就是根结点开始访问,从上而下逐层遍历,在同一层中,按从左到右的顺序对结点逐个访问。
相关文章推荐
- 二叉树的存储结构 – 数据结构和算法45
- 数据结构:二叉树的遍历和存储结构
- 二叉树的概念,二叉树的数据存储结构,二叉树的性质,二叉树的遍历方法数据结构-树的学习(3)
- 二叉树的存储结构 - 数据结构和算法45
- 数据结构与算法简记:按层次顺序遍历和存储二叉树
- 数据结构-二叉树的存储结构与遍历
- 数据结构与算法6:二叉树的存储结构与遍历
- python数据结构与算法——二叉树结构与遍历方法
- 二叉树的存储结构 - 数据结构和算法45
- 数据结构--二叉树--中序非递归遍历二叉树(链式结构)2
- 数据结构--二叉树--求树的深度的算法(树遍历算法的应用)
- 树的存储结构2 - 数据结构和算法42
- 数据结构--二叉树--后续遍历二叉树(链式结构)
- 二叉树采用二叉链表结构表示。设计并实现如下算法:输入某棵二叉树的广义表形式,建立该二叉树,并按层次遍历该二叉树。
- 二叉树的建立和遍历算法 - 数据结构和算法47
- 数据结构与算法学习之二叉树的遍历:已知先序、中序、后序序列三者中的两种求另外一种遍历的算法
- 微软等数据结构+算法面试100题(41)-- 二叉树的前序遍历
- 数据结构--二叉树--节点的修改(顺序结构,包括二叉树的顺序遍历和打印)
- 数据结构 算法面试100题 之 逐层遍历二叉树元素
- 二叉树采用二叉链表结构表示。设计并实现如下算法:后序递归建树,先序非递归遍历该树。