美文网首页基础知识
java开发中的二叉树和红黑树

java开发中的二叉树和红黑树

作者: Hi三好学生 | 来源:发表于2019-11-13 15:18 被阅读0次

二叉树和红黑树

一、树

  1. 树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为树的结点,所定义的关系称为父子关系。
  2. 父子关系在树的结点之间建立了一个层次结构。
  3. 树的结点包含一个数据元素及若干指向其子树的若干分支。
  4. 在这种层次结构中有一个结点具有特殊的地位,这个结点称为该树的根结点,或简称为树根。
图片

例如图 (a)是一棵空树、(b)是只有一个根节点的树、(c)是一棵有 10个结点的树,其中A是根,

二、二叉树

每个结点的度 均不超过 2 的 有序 树,称为 二叉树(binary tree)

图片

由以上定义可以看出

  1. 二叉树中每个结点的孩子数只能是 0、1 或 2 个,并且每个孩子都有左右之分。
  2. 位于左边的孩子称为左孩子,位于右边的孩子称为右孩子;
  3. 以左孩子为根的子树称为左子树,以右孩子为根的子树称为右子树。
图片

三、二叉查找/搜索/排序树 BST (binary search/sort tree)

或者是一棵空树;

或者是具有下列性质的二叉树:

(1)若它的左子树不空,则左子树上所有结点的值均小于它的根节点的值;

(2)若它的右子树上所有结点的值均大于它的根节点的值;

(3)它的左、右子树也分别为二叉排序树。

图片

四、平衡二叉树 (Self-balancing binary search tree) 自平衡二叉查找树 又被称为AVL树(有别于AVL算法)

它是一 棵空树

或它的左右两个子树的高度差( 平衡因子 )的绝对值不超过1

平衡二叉树: 每个结点的平衡因子都为 1、-1、0 的二叉排序树。或者说每个结点的左右子树的高度最多差1的二叉排序树。

平衡二叉树的目的是为了减少二叉查找树层次,提高查找速度

图片

五、红黑树

R-B Tree,全称是Red-Black Tree,又称为"红黑树",它一种平衡二叉树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。

红黑树的特性:

(1)每个节点或者是黑色,或者是红色。

(2)根节点是黑色。

(3)每个叶子节点(NIL)是黑色。 [注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!]

(4)如果一个节点是红色的,则它的子节点必须是黑色的。

(5)从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。

注意:

(01) 特性(3)中的叶子节点,是只为空(NIL或null)的节点。

(02) 特性(5),确保没有一条路径会比其他路径长出俩倍。因而,红黑树是相对是接近平衡的二叉树

图片

相关文章

  • 红黑二叉树

    红黑二叉树 红黑二叉树(简称:红黑树),它首先是一棵二叉树,同时也是一棵自平衡的排序二叉树。 红黑树在...

  • java开发中的二叉树和红黑树

    二叉树和红黑树 一、树 树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为树的结点,所定义的关系称...

  • 红黑树

    啥是红黑树,红黑树 = 二叉树

  • 蚂蚁金服三面(java研发):二叉树+HTTPS加密+自旋锁+R

    蚂蚁Java一面 二叉搜索树和平衡二叉树有什么关系,强平衡二叉树(AVL树)和弱平衡二叉树(红黑树)有什么区别 B...

  • 蚂蚁金服三面(java研发):二叉树+HTTPS加密+自旋锁+R

    蚂蚁Java一面 二叉搜索树和平衡二叉树有什么关系,强平衡二叉树(AVL树)和弱平衡二叉树(红黑树)有什么区别 B...

  • TreeMap源代码分析

    TreeMap是在java.util包下面,也是有序的map集合,它的原理是“红黑树”实现的: 使用了红黑二叉树的...

  • 红黑树原理

    红黑树原理 学习红黑树之前,你首先要有查询二叉树的知识储备,和平衡二叉树(AVL)的知识储备。 红黑树是基于AVL...

  • 树结构之红黑树

    红黑树是在二叉树的基础上加了红、黑两种颜色。 树: 有序树无序树 二叉树:所有结点的度都小于等于2前序遍历,中序遍...

  • <--个人成长笔记系列-->知识点解析之HashMap(二)

    JAVA知识点: (掌握)红黑树:是一个特殊的二叉树 (掌握)HashMap源码分析: (1)pu...

  • 红黑树

    红黑树 红黑树是一中重要的二叉平衡树 这里主要以JAVA...

网友评论

    本文标题:java开发中的二叉树和红黑树

    本文链接:https://www.haomeiwen.com/subject/iswhictx.html