黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 詳解B+樹

詳解B+樹

更新時間:2021-02-03 17:37:06 來源:動力節點 瀏覽2310次

B+樹是一種樹數據結構,通常用于數據庫和操作系統的文件系統中,NTFS等都使用B+樹作為數據索引。B+樹的特點是能夠保持數據穩定有序,其插入與修改擁有較穩定的對數時間復雜度。B+樹元素自底向上插入,這與二叉樹恰好相反。

一、B+樹的特征

1、有m個子樹的中間節點包含有m個元素(B樹中是k-1個元素),每個元素不保存數據,只用來索引;

2、所有的葉子結點中包含了全部關鍵字的信息,及指向含有這些關鍵字記錄的指針,且葉子結點本身依關鍵字的大小自小而大的順序鏈接。 (而B 樹的葉子節點并沒有包括全部需要查找的信息);

3、所有的非終端結點可以看成是索引部分,結點中僅含有其子樹根結點中最大(或最小)關鍵字。 (而B 樹的非終節點也包含需要查找的有效信息);

二、B+樹的插入

1、若為空樹,直接插入,此時也就是根結點

2、對于葉子結點:根據key找葉子結點,對葉子結點進行插入操作。插入后,如果當前結點key的個數不大于m-1,則插入就結束。反之將這個葉子結點分成左右兩個葉子結點進行操作,左葉子結點包含了前m/2個記錄,右結點包含剩下的記錄key,將第m/2+1個記錄的key進位到父結點中(父結點必須是索引類型結點),進位到父結點中的key左孩子指針向左結點,右孩子指針向右結點。

3、針對索引結點:如果當前結點key的個數小于等于m-1,插入結束。反之將這個索引類型結點分成兩個索引結點,左索引結點包含前(m-1)/2個數據,右結點包含m-(m-1)/2個數據,然后將第m/2個key父結點中,進位到父結點的key左孩子指向左結點, 父結點的key右孩子指向右結點。

三、為什么B+樹比B樹更適合數據庫索引

1、B+樹的磁盤讀寫代價更低

B+樹的內部結點并沒有指向關鍵字具體信息的指針。因此其內部結點相對B 樹更小。如果把所有同一內部結點的關鍵字存放在同一盤塊中,那么盤塊所能容納的關鍵字數量也越多。一次性讀入內存中的需要查找的關鍵字也就越多。相對來說IO讀寫次數也就降低了;

2、B+樹查詢效率更加穩定

由于非終結點并不是最終指向文件內容的結點,而只是葉子結點中關鍵字的索引。所以任何關鍵字的查找必須走一條從根結點到葉子結點的路。所有關鍵字查詢的路徑長度相同,導致每一個數據的查詢效率相當;

3、B+樹便于范圍查詢(最重要的原因,范圍查找是數據庫的常態)

B樹在提高了IO性能的同時并沒有解決元素遍歷的我效率低下的問題,正是為了解決這個問題,B+樹應用而生。B+樹只需要去遍歷葉子節點就可以實現整棵樹的遍歷。而且在數據庫中基于范圍的查詢是非常頻繁的,而B樹不支持這樣的操作或者說效率太低;

以上就是對B+樹這一數據結構的簡單介紹,我們基本上了解了B+樹的特點和性質,知道了B+樹適合數據庫索引的原因。從某種意義上來說,B+樹是應文件系統所需而產生的B樹的變形樹,因此和B樹也會有以下相似之處,但我們還是應該避免混淆兩者的概念。在本站的數據結構和算法教程中也有對B樹的詳細描述,不知道如何區分兩者的小伙伴可以去了解一下B樹,然后回顧本文或許就簡單明了了。

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: free性欧美人另类 | 欧美一级网站 | 日韩黄色影片 | 日本国产一区在线观看 | 最新日韩中文字幕 | 18在线观看国内精品视频 | 精品在线一区二区三区 | 亚欧乱色视频 视频在线 | 日皮视频免费看 | aa一级黄色片 | 国产福利毛片 | 中文字幕一区二区三区 精品 | 日本一道免费一区二区三区 | 久久国产精品永久免费网站 | 亚洲欧美日韩在线观看播放 | 天天影视涩香欲综合网 | 国产精品综合色区在线观看 | 成人免费观看视频高清视频 | 国产精品手机视频一区二区 | 日韩免费在线播放 | 日韩中文字幕在线观看视频 | 午夜在线不卡 | 中文字幕视频二区 | 亚洲第一区香蕉_国产a | 天天爽天天乐 | 成 人 动漫在线观看网站网站 | 久久一区二区精品 | 国产精品久久婷婷六月丁香 | 精品伊人久久久99热这里只 | 香港三级日本三级三级人妇99 | 中文字幕日本久久2019 | 在线视频你懂得 | 人人艹人人干 | 重口变态xxxx| 亚洲欧美日韩在线 | 在线观看中文字幕 | 免费在线a | 99热国内精品 | 99视频国产在线 | 一 级 黄 色 片生活片 | 特级全黄一级毛片视频 |