wordpress 一栏 两栏官网优化 报价
二叉树的先中后序遍历
理解
那主播,请问你有没有更快的遍历方式呢
有的,兄弟有的
以中序遍历为例啊
找左边有没有东西,左边没东西那它就自由了,就按上面的图举例子
A左边有东西,是B,B左边没东西,记下B
但B右边有东西,是C,C左边有没有东西,有东西,是E,E左边没东西了,记下BE
继续,C左边这下是真没东西了记下BEC
继续,C右边没东西就回溯到A了,这时A左边已经没东西了,记下BECA
但A右边有东西,是D,D左边有东西,是F,F左边没东西,记下BECAF
但F右边有东西,还不能回去,是H,H左边没东西,记下BECAFH
后面不说了,熟练就行 BECAFHDIGK
然后以 后序遍历为例
看看左边和右边有没有东西
A左边有东西啊,是B,B左边没东西但右边有东西啊,是C,C左边有东西,是E
终于,E左边没东西,右边也是,所以,记下E
回到C,左边的东西结束了,右边又没东西,记下EC
回到B,左边本来就没东西,右边的东西结束了,接下ECB
回到A,左边的东西结束了,右边还有很多呢,右边的东西是D,D左边有东西是F
F左边没东西,右边有H,H左边和右边都没东西,所以记下ECBH
后面不多说了,ECBHFIKGDA
再看看 最后的先序遍历啊
先根再看看左边右边有没有东西
先根!记下A,然后左边有东西,是B,记下AB,然后左边没东西,右边有东西,是C,记下ABC
C的左边有东西,是E,记下ABCE,然后E的左边和右边结束,回到C的左边处理完了,右边没东西结束,回到B也一样
回到A,左边处理完了,处理右边,懒的说了
ABCEDFHGIK,先序应该是最简单的
做题
1
给我用我的方法想出来
b
2
也是啊,不会就反复抄写,熟稔于心,倒背如流
a
由遍历序列构造二叉树
做题
1
d
2
a
3
b
4
前序和后序不能唯一确定二叉树
用选项里的中序构造,发现C有问题
它是3421,所以选c
小问题!
什么时候先序和后序是相反的
先序是根左右,后序是左右根
删个左就是 先序是根右,后序是右根
删个右就是 先序是根左,后序是左根
所以一层只有一个,随便画,就是相反的
那有多少种画法呢
4层的画,就只有2*4=8种
5
左删掉,都只剩根右了,那他们就是相同的,所以只要右子树
线索二叉树
理解
这里的空链域会有 2n - (n - 1) = n+1个,这里n-1是边的个数
然后就可以发现太浪费了,很不爽
线索二叉树也是分先中后序的
这里就写中序遍历的线索二叉树
然后这里,比如6这里,左边是2,右边是4
就这样连上去就行了
然后这样就行了,但还是有空的,哎
做题
1
d左边缺东西,所以是NULL
d
2
debxac
d
3
画个图bro
a
Y X
a