学习二叉树遍历

class Node{

V value;

Node left;

Node reight;

}

用递归和非递归两种方式实现二叉树的先序,中序,后续遍历

如何直观的打印一颗二叉树

如何完成二叉树的宽度优先遍历

递归序列 先序是出现的第一个数字,中序第二个,后续第三个

先序遍历(根左右)

中序遍历(左根右)

后续遍历(左右根)

先序遍历:

1.从栈中弹出一个节点car

2.打印处理car

3.先右再左

4.周而复始

中序遍历过程

得到一棵树,整棵树左边界进栈 ,一次弹出节点的过程中,打印,对弹出节点的右数周而复始,在弹出之后没有右节点弹出,有右节点看这个右节点有没有连着左节点,然后依次入栈,出栈就打印,一直是左根(右(左根(右(左根)))不断的分解右侧的节点,最终打印出来就也是左根右的结构

后序遍历过程:设置两个栈,第二个栈作为回收站,第一个栈采用根右左的顺序进栈出栈,出去的全都按照出栈顺序压到回收栈里面,当全部完事之后,输出回收站,就会得到左右根,得到后序遍历

求一颗二叉树的宽度

后面还会有二叉树的判断,一些简单烧脑的算法,都有总结出来哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值