多分樹靜態索引

2021-10-01 13:28:56 字數 495 閱讀 5401

什麼是靜態索引?

不可改變:一旦生成就固定下來,在系統執行(例如、刪記錄)過程中索引結構並不改變,只有當檔案再組織時才允許改變索引結構

什麼叫「檔案再組織」?

特點:組織索引一般不用二叉樹而採用多分樹(粒度變粗),能大幅減少訪問外存的次數

什麼是多分樹?

多分樹是由二叉樹進化而來的

訪問乙個葉結點

查詢二叉樹:訪問六次外存(層數:6)

查詢多分樹:訪問兩次外存(2層)

雖然訪問外存的次數變少了,但是每一次訪問的資料變多了,也就是圖中結點更大

這樣做是一把雙刃劍

優點:以更少的外存訪問次數來完成查詢

缺點:需要較大緩衝區;讀入乙個結點需較多時間

多分樹中的基本概念

「資料基本區」:多分樹葉結點區域,存放資料記錄

「索引區」:非葉結點區域,存各子樹最大(小)關鍵碼

若新記錄要插入的結點已滿,則發生溢位,溢位記錄存到另開闢的溢位區,而不改變索引結構

B樹索引 hash索引

索引是對資料庫表中一列或多列的值進行排序的一種結構,使用索引可快速訪問資料庫表中的特定資訊。對於乙個表中幾百萬行資料來說,如果不使用索引,每次查詢都需要遍歷一遍所有的行,從而找到所需要的資料,平均查詢效率o n 如果使用了索引,在查詢時會先找索引,快速定位到磁碟位置,然後再去讀出該行的資料,效率大大...

靜態主席樹

首先主席樹解決什麼樣的問題?最經典的問題就是 區間第k小問題 也就是指定乙個區間,要求求出這個區間中第k小的數字 在搞懂什麼是主席樹之前,我們要先對權值線段樹有一定的了解,下面我們就先說一下權值線段樹,然後詳細說一下主席樹以及主席樹程式的實現.權值線段樹 每個葉子節點的數值表示的是 陣列中含有這個數...

靜態主席樹

主席樹 對於序列的每乙個字首建一棵以序列裡的值為下標的線段樹 所以要先離散化 記錄該字首序列裡出現的值的次數 記離散後的標記為1 n 下面值直接用1 n代替 對於區間 x,y 的第k大的值,那麼從root x 1 root y 開始,t root y 1,mid root x 1 1,mid t表示...