zoukankan      html  css  js  c++  java
  • 6)二叉树非递归遍历

    1)  我们举例子的图片还是这张图片:
      

          

    2)然后  我们讲解一下 普通的先序遍历

          (1)首先有一个栈,来存节点信息

          (2)然后我们是按照先序遍历的,首先存的是A,我们将A入栈时,同时给这个节点加一个标志  就是FALSE

          (3)然后将A的左子树和右子树也入栈,因为先序是DLR,要是你想按照这个顺序输出,就得是按照RLD的顺序入栈,同时将A的标志由FALSE改为TRUE,现在栈的顺序就是

      

              

          (4)然后就是将B出栈,同时改为TRUE,同时将B的左子树和右子树入栈,现在栈的顺序是:
            

                 

            5)然后就是C--->false出栈,同时将他改为TRUE,将C的左子树和右子树入栈

      

                  

          (6)后面的顺序和之前的思路一样,就是入栈和出栈

    然后代码展示:

        

     

  • 相关阅读:
    Mysql基本操作
    MySql架构
    并发中关键字的语义
    SpringMVC<一> 基本结构与配置
    Tomcat 顶层结构
    Linux 日常常用指令
    JSON 数据格式
    RMAN 增量备份级别说明
    Oracle常用数据库系统表单以及SQL的整理
    使用puTTY或Xshell连接阿里云TimeOut超时
  • 原文地址:https://www.cnblogs.com/xiaoyoucai/p/8555976.html
Copyright © 2011-2022 走看看