B樹與雜湊

2021-10-19 13:25:53 字數 929 閱讀 1391

m階的b樹滿足的特徵:

(1)樹的根是一片樹葉,或者是兒子數在2到m之間,即[2,m)

(2)除根外,所有非樹葉節點的兒子數在⌈m/

2⌉

\lceil \rceil

⌈m/2

⌉到m之間,即[⌈m/

2⌉

\lceil \rceil

⌈m/2

⌉,m)。

(3)所有樹葉都在相同的深度。

(4)乙個節點最多容納m-1個數。

雜湊1、衝突:當兩個關鍵字到同乙個值時稱為衝突。

2、解決衝突:分離鏈結法和開放定址法

3、填裝因子:雜湊表中的元素個數與雜湊表的大小之比。

4、分離鏈結法:將雜湊到同乙個值的所有元素儲存到一張表中,通過雜湊函式查要插入的表,然後插入表頭。

優點:處理簡單,無堆積現象;易於刪除;填裝因子較小,節省空間。

缺點:給新單元分配位址需要時間,指標需要額外的空間。

填裝因子接近1.

5、開放定址法:h(x) = (hash(x) + f(i))%tablesize;

填裝因子小於0.5;

需要懶惰刪除,因為元素可能引起了衝突繞過了當前元素,如果刪除,在查詢時會出錯。

(1)線性探測法:f(i) = i;即使表相對較空,所佔據的單元也會聚集形成一些區塊,稱為一次聚集。

(2)平方探測法:f(i) = ii,或者f(i) = f(i-1) + 2i-1;雜湊到同一位置上的元素將探測相同的備菜單元,成為二次探測。

(3)雙雜湊:有兩個雜湊函式hash1(x)和hash2(x),當發生衝突時,用第二個雜湊函式來解決衝突。

(4)再雜湊:當元素過滿或者插入時間過長,建立乙個大約兩倍的表,再用乙個新的雜湊函式,將原始表中的值按照新的對映插入新錶中。

資料庫索引(B樹,B 樹,雜湊)

一.什麼是索引?索引的目的就是便於快速查詢。一本書的索引就是目錄,可以讓我們快速定位到要查詢的內容 資料庫的資料是以記錄的方式存在的,所以索引的目的就是便於查詢某一些記錄。索引型別 常見的資料庫書籍中的關於索引類別的一些稱呼 唯一索引 不允許其中任何兩行具有相同值的索引 使用主鍵和候選鍵建立的索引就...

資料庫索引(B樹,B 樹,雜湊)

資料庫索引是儲存引擎用於快速找到記錄的一種資料結構。高效能mysql 一.什麼是索引?索引的目的就是便於快速查詢。一本書的索引就是目錄,可以讓我們快速定位到要查詢的內容 資料庫的資料是以記錄的方式存在的,所以索引的目的就是便於查詢某一些記錄。索引型別 常見的資料庫書籍中的關於索引類別的一些稱呼 唯一...

B樹(B樹 ,B 樹 ,B 樹)與多叉樹

我們先來看看二叉樹存在的問題 二叉樹的操作 效率較高,但是也存在問題,請看下面的二叉樹 二叉樹需要載入到記憶體的,如果二叉樹的節點少,沒有什麼問題,但是如果二叉樹的節點很多 比如1億 就存在如下問題 問題1 在構建二叉樹時,需要多次進行i o操作 海量資料存在資料庫或檔案中 節點海量,構建二叉樹時,...