二叉树

80 阅读2分钟

二叉树

二叉树分类

满二叉树

如果一个二叉树只有度为0和度为2的节点,那么这个二叉树就是一个满二叉树

image.png

完全二叉树

如果一个二叉树只有最底层没有填满时,且最底层的节点都集中在最左边的位置,则称这个二叉树为完全二叉树

image.png

二叉搜索树

如果一个二叉树是有序的,那么就称这个二叉树为二叉搜索树,具有以下特点

  • 一个节点如果有左子节点,那么左子节点的值一定大于该节点
  • 一个节点如果有左子节点,那么左子节点的值一定小于该节点
  • 对于子节点同样适用

image.png

平衡二叉树

平衡二叉树(Balanced Binary Tree),也称为AVL树,是一种特殊的二叉搜索树(Binary Search Tree)数据结构。它的定义包括以下两个要点:

  • 二叉树的每个节点的左子树和右子树的高度之差的绝对值(即平衡因子)不超过1。
  • 具体而言,对于任意节点,其左子树的高度和右子树的高度之差的绝对值不超过1。如果节点没有子树,其高度被定义为-1。

二叉树的每个子树也都是平衡二叉树。 这意味着递归地应用平衡二叉树的定义,对于树中的每个节点,它的左子树和右子树也必须是平衡二叉树。

平衡二叉搜索树

平衡二叉搜索树:又被称为AVL(Adelson-Velsky and Landis)树,且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

二叉树的存储方式

链式存储

链式存储是二叉树常用的存储方式

image.png

顺序存储

二叉树可以链式存储也可以顺序存储

image.png