天天看点

java高级补充学习1、树2、二叉树 3、红黑树

参考地址:https://www.jianshu.com/p/bf73c8d50dc2

https://www.jianshu.com/p/d8103efe0b79

1、树

1、树叶:没有儿子的节点称为树叶(leaf)。

2、兄弟:具有相同父亲的节点为兄弟(siblings)。

3、度:节点拥有的子树数目称为节点的度。

java高级补充学习1、树2、二叉树 3、红黑树

4、节点层次

java高级补充学习1、树2、二叉树 3、红黑树

5、树的深度

树中节点的最大层次树称为树的深度或高度。

2、二叉树 

二叉树是n(n>=0)个节点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根节点和两棵互不相交的、分别称为根节点的左子树和右子树组成。

    2.1、二叉树特点

1、每个节点最多有两颗子树,所以二叉树中不存在度大于2的节点。

2、左子树和右子树是有顺序的,次序不能任意颠倒。

3、即使树中某节点只有一棵子树,也要区分它是左子树还是右子树。

    2.2、斜树

    2.3、满二叉树

    2.4、完全二叉树

顺序存储一般适用于完全二叉树

按照先向左再向右

    前序遍历:第一次到达就输出

    中序遍历:第二次到达就输出

    后序遍历:第三次到达就输出

    层次遍历:按照树的层次自上而下的遍历

3、红黑树

    3.1、平衡二叉查找树

https://baijiahao.baidu.com/s?id=1641940303518144126&wfr=spider&for=pc

    3.2、红黑树

https://www.cnblogs.com/skywang12345/p/3245399.html

红黑树的特性:

(1)每个节点要么是黑色,要么是红色。

(2)根节点是黑色。

(3)每个叶子节点(NIL)是黑色

(4)每个红色节点的两个子节点一定都是黑色。

(5)任意节点到每个叶子节点的路径都包含数量相同的黑节点。

继续阅读