二叉树理论基础

简介: 二叉树理论基础

二叉树理论基础

二叉树的种类

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

二叉树的存储方式

顺序存储、链式存储

二叉树的遍历方式

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

  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;
  }
}
相关文章
|
机器学习/深度学习 存储 算法
【数据结构与算法篇】 二叉树的性质(补充)
【数据结构与算法篇】 二叉树的性质(补充)
87 0
|
1月前
|
存储 C++
第六章 二叉树理论基础
第六章 二叉树理论基础
13 0
第六章 二叉树理论基础
|
1月前
|
存储 算法 编译器
探索二叉搜索树:理论与实践实现
探索二叉搜索树:理论与实践实现
32 0
|
算法
二叉树的遍历【学习算法】
二叉树的遍历【学习算法】
40 1
|
存储 算法 数据处理
数据结构之树和二叉树的基本概念,二叉树遍历算法的实现
数据结构之树和二叉树的基本概念,二叉树遍历算法的实现
|
存储 算法
树和二叉树基础概念
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。
|
存储
树和二叉树的基本概念和性质
树和二叉树的基本概念和性质
|
算法
【算法】二叉树相关算法
【算法】二叉树相关算法
52 0
|
存储 算法 JavaScript
二叉树理论基础篇
二叉树理论基础篇 二叉树的种类 满二叉树 完全二叉树 二叉搜索树 平衡二叉搜索树 二叉树的存储方式 二叉树的遍历方式 二叉树的定义 总结 其他语言版本
108 0
|
存储 算法 Java