二叉树 的遍历 及其相关操作理解关键点

1.

每次while循环或者 当前递归函数内,
你的 操作对象 要尽可能的
标准某一个特定的节点展开,
顶过考虑他的 左右孩子结点和父结点,不要再考虑更多。

一定要非常敏感当前操作的
当前操作结点
当前针对结点

一切操作 围绕这个结点来展开,

考虑问题时候尽可能只关注这一个结点,
或者关注的关系结点要尽可能的要少,越少越好。

任何操作及关系的中心都是 这个节点,或者这个结点的关系结点

看其他节点的时候,也是 重点关注 其他节点与当前节点的关系。
看其他节点是 当前节点的 左右子节点或者父节点。

2.

还有任何一个结点都是 既从属 又绝对平等的。

当前的任何操作如果可以 对某个节点有某种效果,
那么对其他任何结点 都有 同样的效果

3.

二叉树问题中,关注的 结点越少越容易分析问题。
问题中最多关注一个分支就好。一个分支也就 四个节点,
1当前结点
2当前结点的左节点
3当前结点的右节点
4当前节点的父节点

一般能够 满足一个分支的程序,衔接没有问题的话,那么别的分支都是可以基本满足的

4.

为了测试程序的 鲁棒性,
可以每次测试一个一个结点。
测完再换一个结点,来测试程序的适应性和考虑不完善的地方。
特别是 测试 各种边界点。整个测试几个特殊点后,程序就基本完善了。

5.

如果某些情况 拿一个结点来看的时候分析有困难,
比如需要考虑这个节点的孩子结点,
但是这个结点孩子节点为NULL,这时候 可以临时 换另一个符合 要求的结点去思考。

6.

要很明确,
除了if条件排斥的结点之外,也就是不满足if条件的结点不能 满足程序,
其余的任何一个结点都必定是能够满足程序的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值