当当网网站建设案例,wordpress 密码强度,自己的网站怎么和百度做友链,仿36氪wordpress1 / \ 2 3 / \ / \
4 5 6 7
当你拿到一棵二叉树#xff0c;无论它的形状如何的千奇百怪
我们都可以将它按照如下的方式划分根/ \
左子树 右子树
一棵有很多个节点的二叉树可以划分为以上的形式
也可以这么… 1 / \ 2 3 / \ / \
4 5 6 7
当你拿到一棵二叉树无论它的形状如何的千奇百怪
我们都可以将它按照如下的方式划分根/ \
左子树 右子树
一棵有很多个节点的二叉树可以划分为以上的形式
也可以这么理解只要是按以上形式组合的都可以称为是二叉树
一个仅仅只有根节点的二叉树也可以划分成以上的形式只不过他的左右子树都为空罢了
所以我们发现二叉树的定义其实是一个递归定义的过程
大的二叉树是由小的二叉树构建而成的
所以当我们考虑要遍历一棵二叉树时
也是首选递归的遍历
遍历二叉树
它的基本思想是先按照上面的形式把整棵二叉树划分为3部分
哪么接下来的工作就很简单了
我们只需要将这3部分都遍历一遍就可以了这里用到了分而治之的思想
而对于这3部分来说
根节点的遍历无疑是最方便的直接访问就ok了
而对于左右子树呢
我们不难发现左右子树其实分别成为了两棵完整的树
他们拥有各自独立的根节点左子树和右子树
对他们的遍历很显然应该与刚才的遍历方法一致便可
如果上面的都理解了那么这个题就是小菜一碟了如果觉得无法理解可以按照下面的方法自己多分解几棵树
对于这个题目中序遍历这可二叉树
先看根节点1/ \
左子树 右子树
我们应该先遍历左子树
也就是下面这棵树2/ \
4 5
对于这棵树在进行中序遍历
我们应先遍历她的左子树
他只有一个根节点4左右子树都为空
哪么遍历这个只有一个根节点的二叉树
先访问她的左子树为空
返回
访问该树的根节点4
在访问右子树也为空
此时这棵树已经被完全的遍历了
我们需要返回上一层也就是2/ \
4 5
这棵树
此时她的左子树已经被访问完毕
根据中序遍历的规则
需要访问此树的根节点2
此时的访问顺序是4-2
访问了根节点
在访问右子树只有一个根节点的5具体过程看4的访问
5访问完毕
也就意味着2/ \
4 5
这棵树已经访问完了
需要返回上一层
也就是1为根的树
此时这棵树的左子树已经访问完毕
此时访问的顺序是4-2-5应该没有问题
接下来访问根节点1
在访问右子树3/ \
4 7
是不是觉得似曾相识
她的访问应该跟2/ \
4 5
一致
哪么最终遍历的顺序也出来了
4-2-5-1-6-3-7