js資料結構 平衡查詢樹

2021-08-22 03:18:30 字數 1384 閱讀 1627

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 也有寫索引是用雜湊桶作為其資料結構,但是主流的...