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...