二叉树的遍历【 详细讲解 】
来源:互联网 发布:软件测试技术大全 编辑:程序博客网 时间:2024/05/21 11:33
二叉树的遍历
一共有4种遍历
先看图,对于这个图进行4种遍历的讲解
1、 先序遍历
定义:若二叉树为空,则空操作;否则
(1)访问根节点(2)先序遍历左子树(3)先序遍历右子树
根据定义我需要解释一下,定义很简单,其实定义是对于每一
子树而言的,我们先遍历A然后B,这时候我们不能遍历C结点,因为B结点是它下面子树的根节点,把B看成根节点进行访问,B->D,下面我们当然是把D结点看成根节点,不能访问E结点,需要访问H,再把H结点看成根节点,因为下面为空,那么就访问I 结点->E,把E结点再次看成根节点进行定义的方式的访问->J,其实它的本质从大家到小家,从小家再到小小家一直这样访问下去
访问的顺序:A B D H I E J C F K G
2、 中序遍历
定义:若二叉树为空,则空操作;否则
(1)中序遍历的左子树(2)访问根节点(3)中序访问的右子树
还是那样的思想,把每次访问看成一个小家,进行访问:
我们需要先访问左节点,先找到根节点A->B,把B看成根节点->D
,把D看成根节点->H,这时候我们就找到第一个左节点,那就首先访问H根据定义来->D->I,那下面访问哪一个,我们已经访问完了已D为根节点的小家,D又是上面大家的左节点,那就需要访问大家的根节点B,然后访问E,其实不应该是E,应为已E为根节点的小家,左节点为空,那就下一步为结点E,然后J,……
访问的顺序:H D I B E J A F K C G
3、 后序遍历
定义:定义:若二叉树为空,则空操作;否则
(1)后序遍历的左子树(2)后序遍历的右子树(3)访问根节点
不在详细解释了,按照前面的思想,本质就是,大家找小家,小家找小小家……
访问顺序: H I D J E B K F G C A
4、 层序遍历
不用多说大家都会吧
访问顺序:A B C D E F G H I J K
- 二叉树的遍历【 详细讲解 】
- 二叉树的遍历【 详细讲解 】
- 二叉树的层序遍历详细讲解(附完整C++程序)
- 详细讲解二叉树三种遍历方式的递归与非递归实现
- 详细讲解二叉树三种遍历方式的递归与非递归实现
- 详细讲解二叉树三种遍历方式的递归与非递归实现
- 详细讲解二叉树三种遍历方式的递归与非递归实现
- 详细讲解二叉树三种遍历方式的递归与非递归实现
- 详细讲解二叉树三种遍历方式的递归与非递归实现
- 二叉树创建和遍历详细分析
- 遍历结果推导二叉树详细解析
- 二叉树的递归遍历和非递归遍历(附详细例子)
- 二叉树的递归遍历和非递归遍历(附详细例子)
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- Hash表
- 美容热点产品
- Retrofit2.1用法(一)
- setResult(RESULT_OK) 返回0的原因
- ceph radosgw 挂载goofys
- 二叉树的遍历【 详细讲解 】
- UE激活步骤
- ubuntu下配置FTP服务器并用CuteFTP登陆
- Android am的作用
- HTML第六章课后作业4
- java最长单调递增子字符串
- android 基础 res文件
- c++:this指针总结
- 觉醒