2-3查詢樹
插入原理圖
紅黑二叉查詢樹
與2-3查詢樹的聯絡
將樹中的鏈結分為兩種型別,紅鏈結將兩個2-結點連線起來構成乙個3-結點,黑色則是普通鏈結。
定義:
1. 紅鏈結均為左鏈結
2. 沒有任何乙個結點同時和兩條紅鏈結相連
3. 該樹是完美黑色平衡的,即任意空鏈結到根節點的路徑上的黑鏈結數量相同。
該定義與的紅黑樹與相應的2-3樹為一一對應
**根結點總是黑色的
function rotateleft (node)
function rotateright (node)
const red = true;
const black = false;
class node
}class redblackbst
isred (node)
put (node, key, value)
if(node === null)
let cmp = compare(key, node.key);
if (cmp > 0) else
if (cmp < 0) else
if(this.isred(node.left) && this.isred(node.right))
if(this.isred(node.left) && this.isred(node.left.left))
}}redblackbst.prototype.rotateleft = rotateleft;
redblackbst.prototype.rotaterright = rotateright;
redblackbst.prototype.flipcolors = flipcolors;
redblackbst.prototype.size = size;
function
rotateleft
(node)
function
rotateright
(node)
function
flipcolors
(node)
function
size
(node)
function
compare
(key1, key2)
if (key1 === key2)
if (key1 > key2)
}
演算法和資料結構 平衡查詢樹之B樹
b樹 b樹 b tree 是一種樹狀資料結構,它能夠儲存資料 對其進行排序並允許以o log n 的時間複雜度執行進行查詢 順序讀取 插入和刪除的資料結構。b樹,概括來說是乙個節點可以擁有多於2個子節點的二叉查詢樹。與自平衡二叉查詢樹不同,b 樹為系統最優化大塊資料的讀和寫操作。b tree演算法減...
splay 文藝平衡樹 資料結構
題目大意 略 splay維護區間翻轉裸題,為了減少不必要的麻煩,多插入兩個點,分別是0和n 1 每次找區間的第k個值,就在splay上二分即可 順便學了一下splay的完美建樹,而且splay有一些小函式可以巨集定義或者用inline,跑得飛快 最後跑一遍中序遍歷即可 1 include 2 inc...
索引原理(平衡樹資料結構)
索引索引索引 本質 通過不斷地縮小想要獲取資料的範圍來篩選出最終想要的結果,同時把隨機的事件變成順序的事件,也就是說,有了這種索引機制,我們可以總是用同一種查詢方式來鎖定資料 想要了解索引的原理就必須了解一種資料結構 平衡樹 b tree或b tree 也有寫索引是用雜湊桶作為其資料結構,但是主流的...