【常见集合篇09】HashMap-二叉树

32 阅读2分钟

二叉树

二叉树,顾名思义,每个节点最多有两个叉,也就是两个子节点;分别是左子节点和右子节点。不过二叉树并不是要求每个节点都有两个子节点,有的节点只有左子节点,有的节点只有右子节点。

image.png

二叉树实现

java中有两个方式实现二叉树:数组存储、链表存储

基于链表存储的树的节点可定义如下:

image.png

image.png

二叉树分类

  • 满二叉树
  • 完全二叉树
  • 二叉搜索树
  • 红黑树

二叉搜索树

二叉搜索树(Binary Search Tree,BST)又名二叉查找树,有序二叉树或者排序二叉树;是二叉树中比较常用的一种类型。

二叉查找树要求:在树中的任意一个节点,其左子树的每个节点值,都要小于这个节点的值;而右子树节点的值都大于这个节点的值。

image.png

二叉搜索树-时间复杂度分析

image.png

查找操作:O(logn)

image.png

查找操作:O(n)