二叉查詢樹與紅黑樹 總結

2021-08-22 10:15:07 字數 694 閱讀 4833

1、遞迴遍歷一顆二叉查詢樹的時間複雜度:

best:o(logn)     worst:o(n)

2、查詢二叉查詢樹的時間複雜度:

best:olog(n)     worst:on

3、查詢前驅和後繼的時間複雜度:

一般說前驅或後繼是指在中序遍歷下的。

時間複雜度是o(logn)

4、插入和刪除元素

插入:時間複雜度 o(logn)

刪除:刪除的元素為z;

1) 如果z沒有子女,則修改其父節點p[z],使nil為其子女,

2) 如果節點z只有乙個子女,則可以通過在其子節點與父節點間建立一條鏈來刪除z,

3) 如果節點z有兩個子女,先刪除z的後繼y,再用y的內容來代替z的內容。

以上可知,一顆高度為h的二叉查詢樹可以實現任何一種基本的動態集合操作,如:

search,  predecesor,  successor,  minimun,  maximum,  insert,  delete, 其時間複雜度都是o(h),即:o(logn)

但是在最壞的情況下, 很多動態集合操作就不是logn了,接下來我們要分析的紅黑樹是許多」平衡的「查詢樹中的一種,它能保證在最壞情況下,基本的動態集合操作時間為logn。

關於紅黑樹的講解,我還沒有看的很明白,給大家推薦大神的部落格:skywang12345

一起加油,我親愛的狗子們~~~

二叉查詢樹 紅黑樹

紅黑樹是一棵二叉查詢樹,它在每個結點上增加了乙個儲存位來表示結點的顏色,可以是red或black。通過對任何一條從根到葉子的簡單路徑上各個結點的顏色進行約束,紅黑樹確保沒有一條路徑會比其他路徑長出2倍,因而是近乎於平衡的。樹中每個結點包含5個屬性 color key left right和p。如果乙...

紅黑樹 二叉查詢樹

紅黑樹一種自平衡二叉查詢樹,是電腦科學中用到的一種資料結構,典型用途是實現關聯陣列。紅黑書很複雜,但是他的操作有良好的最壞情況執行時間,不管是查詢 插入和刪除,他的時間複雜度都是o logn 其中的n是樹中元素的數目。二叉查詢樹也稱二叉搜尋樹 有序二叉樹 ordered binary tree 排序...

紅黑二叉查詢樹

擷取自 演算法 第四版 紅黑二叉查詢樹背後的基本思想是用標準二叉查詢樹 完全 由2 節點構成 和 一些額外的資訊 替換 3 節點 來表示 2 3樹。紅黑樹中的鏈結分為兩種 1 將兩個2 節點連線起來 構成3 節點的紅鏈結 2 2 3樹中的普通鏈結為黑鏈結 將兩個 2節點用左斜的紅色鏈結鏈起來可表示3...