zoukankan      html  css  js  c++  java
  • 公交车站捡垃圾之二叉树的三种遍历方法

    二叉树的遍历


    今天下午看了二叉树的三种遍历方式,虽然能写出代码,但是理解可能不太到位,感觉很容易忘,所以想到一个形象的方法,把每个节点当作公交车站,而访问节点则是在这个公交车站捡垃圾,右子树和左子树则表示岔路。然后这个捡垃圾的人钟爱左边这个方向,所以一直以左优先。甲乙丙三个人,都爱捡垃圾,但是思考方式不同,所以捡垃圾的方法有点不同。

    先序遍历

    先序遍历最简单,秉承的原则是,甲很小心谨慎,每次经过公交车站,怕别人捡了,都把垃圾先捡到手,直到左边的路走完了,再往回走,但是回来的过程中,在公交车站,看到右边还有条公路,就去这条路上按照他的原则捡垃圾, 捡完了之后再回到原来的路上,继续回去。如下图

    中序遍历

    乙这个人,有点小聪明,他觉得一开始就把垃圾捡了,那岂不是很重,所以他先走到左边的尽头,再捡垃圾,这个过程中把路记下来了,然后在回来的过程中,遇到公交车站,捡完垃圾,如果是岔路,继续往右边走。右边的捡完了,回到主路继续向之前的公交车站走。

    后续遍历

    丙更聪明了,他往左走的时候,先记下公交车站,然后再记下来右边有条路(但是这条路没走过,不知道有没有垃圾,所以不能直接捡,),这样回来捡垃圾的路上,想起来右边还有条路,于是继续去右边这条路找垃圾,当右边这条路找完了,遇到公交车站,把这个公交车站的垃圾捡了,继续往回走。

  • 相关阅读:
    光猫改桥接,默认的超级管理员密码。
    Vmware+爱快软路由单机校园网多拨实现带宽叠加[测试用](非普遍性)
    魔百和破解教程
    用SSH工具XShell连接谷歌云 root用户或普通用户
    MySQL优化技巧【持续更新】
    Navicat常用快捷键
    IDEA实用插件Lombok
    Redis数据类型及命令
    Java代码优化总结(持续更新)
    Spring---AOP注解开发&jdbc模板&Spring事务管理
  • 原文地址:https://www.cnblogs.com/xmxj0707/p/9671149.html
Copyright © 2011-2022 走看看