二叉树理论基础

简介: 二叉树理论基础

二叉树理论基础

二叉树的种类

满二叉树、完全二叉树、二叉搜索树、平衡二叉搜索树

二叉树的存储方式

顺序存储、链式存储

二叉树的遍历方式

二叉树主要有两种遍历方式:

  1. 深度优先遍历:先往深走,遇到叶子节点再往回走。
  2. 广度优先遍历:一层一层的去遍历。

那么从深度优先遍历和广度优先遍历进一步拓展,才有如下遍历方式:

  • 深度优先遍历
  • 前序遍历(递归法,迭代法)
  • 中序遍历(递归法,迭代法)
  • 后序遍历(递归法,迭代法)
  • 广度优先遍历
  • 层次遍历(迭代法)

在深度优先遍历中:有三个顺序,前中后序遍历, 有同学总分不清这三个顺序,经常搞混,我这里教大家一个技巧。

这里前中后,其实指的就是中间节点的遍历顺序,只要大家记住 前中后序指的就是中间节点的位置就可以了。

看如下中间节点的顺序,就可以发现,中间节点的顺序就是所谓的遍历方式

  • 前序遍历:中左右
  • 中序遍历:左中右
  • 后序遍历:左右中

二叉树的定义

public class TreeNode {
  int val;
  TreeNode left;
  TreeNode right;
  TreeNode() {}
  TreeNode(int val) {
    this.val = val;
  }
  TreeNode(int val, TreeNode left, TreeNode right) {
    this.val = val;
    this.left = left;
    this.right = right;
  }
}
相关文章
|
JavaScript 前端开发
JavaScript从二维数组抽取元素组成新数组的三种方法
JavaScript从二维数组抽取元素组成新数组的三种方法
|
Kubernetes Cloud Native Java
Docker打包制作openoffice镜像(Dockerfile方式),并处理中文乱码
鉴于目前,云原生k8s的部署方式,越来越广泛。那我们也应该要使用docker的方式部署openoffice。 这个部署的第一步,就是要有一个docker镜像,那我们今天就来讲讲,如何制作openoffice的docker镜像包。 当然啦,openoffice的docker镜像包,我们可以从docker hub仓库,直接拉别人制作好的镜像包。
1058 0
|
网络协议 安全 测试技术
ARP 神器:Macof 保姆级教程
ARP 神器:Macof 保姆级教程
|
Java 数据库 Spring
Spring Bean、Java Bean和对象的区别与联系
Spring Bean、Java Bean和对象的区别与联系
582 0
|
Dubbo Java 应用服务中间件
阿里如何用Java?8位专家讲解,871节课程,带你学Java | 开发者社区年终礼包
Java 是常居 TIOBE 榜首的编程语言,社区为广大开发者精心准备了一份 “Java 学习宝典” ,一文教你学懂 Java !还不快来收藏?
89838 0
阿里如何用Java?8位专家讲解,871节课程,带你学Java | 开发者社区年终礼包
|
消息中间件 canal 关系型数据库
Elasticsearch结合MySQL的两种架构模式对比
Elasticsearch结合MySQL的两种架构模式对比
Elasticsearch结合MySQL的两种架构模式对比
如何判断投影坐标是 3 度带还是 6 度带?如何计算中央子午线经度?
如何判断投影坐标是 3 度带还是 6 度带?如何计算中央子午线经度?
|
弹性计算 负载均衡 小程序
阿里云免费服务器申请攻略(入口及限制条件)
阿里云免费服务器申请攻略(入口及限制条件)阿里云服务器免费试用申请链接入口free.aliyun.com 阿里云个人用户和企业用户均可申请免费试用,最高可以免费使用3个月
1877 0
|
XML SQL Java
quartz集群部署方式解决方案
quartz集群部署方式解决方案
466 0