java笔记整理:二叉树的结构,以及二叉树的遍历

本文深入探讨了二叉树的定义及其在数据结构中的核心地位,讲解了二叉树的链式表示,以及前序、中序、后序和层序四种遍历方式。通过递归思想和方法,剖析了二叉树遍历的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

树形结构
(线性结构,只有前和后,是一对一的关系)
树形结构是一对多的关系
有序树  vs   无序树:
   有序树:孩子的顺序重要的树
   无序树:孩子的顺序不重要的树

二处树:
 1、 度最大为2      2、有序树

递归思想+递归方法

二叉树的表示形式:
  链式表示:
   class Node{
      int value;//值域
      Node  left;   //指向自己的左孩子,也可以代表以左孩子为根的左子树
      Node right;  //同理
  } 
 空树  :  Node node =null
  一个结点的树:
  Node node; Node left=null;  Node right=null

学习二叉树重点:
  学习二叉树的遍历方式
  1)深度优先的遍历  
   1、前序遍历  2、中序遍历  3、后序遍历
 2)广度优先的遍历
  层序遍历

深度:前|中|后 序
二叉树看作三部分组成:  1、根   2、左子树   3、右子树    (左子树在右子树的前面)
     前序遍历:
            根+左子树的前序+右子树的前序                 
      中序遍历:
           左子树的前序+根+右子树的前序
       后序遍历:
           左子树的前序+右子树的前序+根

写递归方法的诀窍:
    1、不要过早的做递归展开过程,想清楚自己到底是谁
    2、递推公式 
    3、多考虑终止条件,终止条件往往和形参有关系
写完之后要理解过程,做递归展开理解
 (代码中构建二叉树时,哪个结点左右结点为为空,一定要写出来。)
                                                                                                    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值