天天看點

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)任意節點到每個葉子節點的路徑都包含數量相同的黑節點。

繼續閱讀