二叉树遍历(图解)

2015-07-16 12:55:05 · 作者: · 浏览: 6

二叉树的顺序存储结构就是用一维数组存储二叉树中的节点,并且节点的存储位置,也就是数组的下标要能体现节点之间的逻辑关系。—–>一般只用于完全二叉树
链式存储—–>二叉链表
定义: lchild | data | rchild(两个指针域,一个数据域)


注意点:
1)已知 前序遍历序列中序遍历序列可以唯一确定一颗二叉树
2)已知 中序遍历序列后序遍历序列可以唯一确定一颗二叉树
而已知 前序和后序 是不能确定一颗二叉树的


二叉树的遍历:是指从根节点出发,按照某种次序依次访问二叉树中的所有节点,使得每个节点被访问一次且仅被访问一次。


1、前序遍历:根-左-右
这里写图片描述


代码:


2、中序遍历:左-根-右
这里写图片描述


代码:


3、后序遍历:左-右-根
这里写图片描述


代码:


4、层序遍历:从根节点出发,依次访问左右孩子结点,再从左右孩子出发,依次它们的孩子结点,直到节点访问完毕
这里写图片描述


代码:该程序用到了队列的思想,可以参考下图理解
(该图为展示的是 图的广度优先遍历示意图,应用的就是层序遍历的思想


二叉树遍历(图解)