深入浅出二叉树的遍历
来源:互联网 发布:防蓝光软件 编辑:程序博客网 时间:2024/05/29 18:50
遍历是按某种策略访问树中的每个结点,且仅访问一次的过程.二叉树的遍历可以分为以下两种:
一.深度优先
深度优先遍历算法的思想是尽可能地沿分支结点向深度方向进行周游.其中深度遍历又可以分前序遍历,中序遍历和后序变量.要深入了解遍历,光靠文字是解决不了问题,我们就以一个例子来看看.如:有以下一棵二叉树:
1.前序遍历
使用前序遍历遍历以上的二叉树,其步骤为:(1)访问根结点.(2)按前序周游左子树.(3)按前序周游右子树.可以用三个字来概括遍历的顺序,即"根-左-右".现在我们用图来看看.
(1)先把二叉树分为5个子树,如下图所示:
(2)以上5棵子树,按照(1),(2),(3),(4),(5)顺序遵循"根-左-右"的规律进行遍历,其遍历顺序如下:
2.中序遍历
使用中序遍历遍历以上二叉树,其步骤为:(1)按中序周游左子树.(2)访问根结点.(3)按中序周游右子树.可以用三个字来概括遍历的顺序,即"左-根-右".现在我们用图来看看.
(1)先把二叉树分为5棵子树,如下图所示:
(2)以上5棵子树,按照(2),(3),(1),(5),(4)顺序遵循"左-根-右"的规律进行遍历,其遍历顺序如下:
3.后序遍历
使用前序遍历遍历以上的二叉树,其步骤为:(1)按后序周游左子树.(2)按后序周游右子树.(3)访问根结点.可以用三个字来概括遍历的顺序,即"左-右-根".现在我们用图来看看.
(1)先把二叉树分为5个子树,如下图所示:
(2)以上5棵子树,按照(2),(3),(5),(4),(1)顺序遵循"左-右-根"的规律进行遍历,其遍历顺序如下:
二.广度优先
广度优先遍历就是从左到右地按层次进行遍历.首先访问第0层,然后从左到右一次就范文每一层两个结点.
其遍历步骤如下图所示:
以上的是二叉树的遍历方式,二叉树是一种特殊的树,学会了二叉树的遍历,树的遍历还会是问题吗?
- 深入浅出二叉树的遍历
- 深入浅出理解[二叉树的构建、先中后序遍历、树的深度、左右子树互换]
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 十月严打淫惠色情网,色情内容
- 继承关系中,子类父类的初始化顺序
- 中文编码问题
- ural 1297 Palindrome 后缀数组
- java精确的加减乘除
- 深入浅出二叉树的遍历
- 查找大于一正整数的最小的不重复数
- ADF中使用CreateWithParams给新行中的字段指定默认值
- oracle创建表空间、创建用户
- AM pool中的AM实例的生命周期
- hdu-4762 大数处理 数学公式
- hdu 1846 博弈
- 自考路之三级网络
- 优秀员工的十二种品质 - 马云在上海演讲说的话