![0b18e5d12a85429448e0f849e53be587.png](https://i-blog.csdnimg.cn/blog_migrate/f8b1e7a276d0bf43ce60b5bca9214a0f.jpeg)
![890e18c63bc0d39932a66a4a6ff3b561.png](https://i-blog.csdnimg.cn/blog_migrate/c6884e3f2cee23b60bd8f3cd4dbffa28.jpeg)
![f13137d4759763c16829008590792155.png](https://i-blog.csdnimg.cn/blog_migrate/b464a24633a620a0667e4919f3b68cc9.jpeg)
![3c603dea948e0095ff5273c02fc9d3b3.png](https://i-blog.csdnimg.cn/blog_migrate/a88f5dce712b9bbb065b7fa535ec5156.jpeg)
————————————
![25597ba335a8097d69e55ee9b4965c49.png](https://i-blog.csdnimg.cn/blog_migrate/6c38e6f8e42ace1e814cdaeb860a52a8.jpeg)
![ed5f0f228d198021f86e8d7c86a5ed5d.png](https://i-blog.csdnimg.cn/blog_migrate/14c423d5ae6c04110dab5a9eb9a5d1d7.jpeg)
![9ac60332a358b9b90cb58fc99047e9b2.png](https://i-blog.csdnimg.cn/blog_migrate/0cf96134a2f1d90dd8caef7d0dd2073a.jpeg)
![4762f907e2d60a2d740384145704b839.png](https://i-blog.csdnimg.cn/blog_migrate/11dc4b1d78db70fb00cd3ee4f72196ac.jpeg)
![b0b090cab9c4cd34f5aae2546f997959.png](https://i-blog.csdnimg.cn/blog_migrate/c9867170524c997dfb8b2ca88fcb6137.jpeg)
![ddd46a28414a7c2e0107028f285583c0.png](https://i-blog.csdnimg.cn/blog_migrate/795f5d0f4c182d35d4dd336e5d4d0629.jpeg)
![48ab9b1b5097b56e4519e7f123ea227c.png](https://i-blog.csdnimg.cn/blog_migrate/77a1aa34e8b885827a7e4bf881a17d17.jpeg)
![042e9ad6c135a68d5f3d36d66b3a1a76.png](https://i-blog.csdnimg.cn/blog_migrate/2375802b653768b90057ee40a373b5f1.jpeg)
![f34e8cb56665179d8726a5363d321089.png](https://i-blog.csdnimg.cn/blog_migrate/94027ec6d979dc4683f1cb01a2dd432d.jpeg)
————————————
![1dc192a90106d89ad890526cefd71f43.png](https://i-blog.csdnimg.cn/blog_migrate/7fa114061f1958c252c7b04c4a3c3954.jpeg)
![dea1b12acf6b88948f25f468effae7b0.png](https://i-blog.csdnimg.cn/blog_migrate/c9d48557b0a8ea220a1919ee93eef0cb.jpeg)
![2a9b600b7039f2178a9ba450e0e4964b.png](https://i-blog.csdnimg.cn/blog_migrate/9657ec268dd8611537ea967df03e9e2c.jpeg)
![911052cca7d08465b90835de170914c5.png](https://i-blog.csdnimg.cn/blog_migrate/7f551c0349f27cac1e8126efb78e4c65.jpeg)
![01b4b9b90a0e8010753c1f22a5a5f882.png](https://i-blog.csdnimg.cn/blog_migrate/f2accb5fc553dc3d0b92dd0d2eaf943f.jpeg)
![6c691724749666848f7eb6781ddc052c.png](https://i-blog.csdnimg.cn/blog_migrate/f09b33c355ee9e28abb632a93369d80d.jpeg)
![48fb1174a79eeedcb67843db8a27c272.png](https://i-blog.csdnimg.cn/blog_migrate/7d1e32460a32778cc38375d316099c55.jpeg)
![919363fa4435480005bdb1afaae8b532.png](https://i-blog.csdnimg.cn/blog_migrate/27ef8f2504ae448e59a00e29a194b072.jpeg)
![9c034d387af289b137aeb6eab59d7719.png](https://i-blog.csdnimg.cn/blog_migrate/4adbfcd1778af124aa43730e35f1631f.jpeg)
![2c40e9e8488e7e5dde5d1cab8b1a6ca1.png](https://i-blog.csdnimg.cn/blog_migrate/04dae42d45a7dbc561db9935ca66521f.jpeg)
![82d248747bcdd6f8ba6200a0ea1ad782.png](https://i-blog.csdnimg.cn/blog_migrate/0b69fade2eb221cb430016b8587042ea.jpeg)
![28bb9ecfe050302c7331e1b34c1881f5.png](https://i-blog.csdnimg.cn/blog_migrate/cdc348618de91a43955861403996b546.jpeg)
![f6a9ca1cfec1b13b251a02efabdc7823.png](https://i-blog.csdnimg.cn/blog_migrate/38f68b8f6c3a831452ed078afb35862e.jpeg)
![336099bf530de09c6a52f4097889accb.png](https://i-blog.csdnimg.cn/blog_migrate/171f53b6969500e1db60449d64cbed66.jpeg)
二叉查找树的结构:
![a4616932bca2c11b235ed1847ebe464d.png](https://i-blog.csdnimg.cn/blog_migrate/7ec96fec33f9d5d4295ae08932efcd25.jpeg)
第1次磁盘IO:
![bbaa78c944ba5a147a5253007faeb13f.png](https://i-blog.csdnimg.cn/blog_migrate/bd3781d6d633673cee5fadd35fb600af.jpeg)
第2次磁盘IO:
![13dd11c835eaa5744971ff6535cb7c8b.png](https://i-blog.csdnimg.cn/blog_migrate/e108f344caf752b894b7a31482220cc1.jpeg)
第3次磁盘IO:
![2dcf00cc23dcff5ad2a540d967ba06f0.png](https://i-blog.csdnimg.cn/blog_migrate/ed4a5c66291442617f6c88107292e209.jpeg)
第4次磁盘IO:
![8867460081ebe924977a41ecf4ef6a98.png](https://i-blog.csdnimg.cn/blog_migrate/51bd33763d39a16f77f34649221fc0b7.jpeg)
![ac79485f754183a38658a8fbcbf5fa36.png](https://i-blog.csdnimg.cn/blog_migrate/4bdf75568a353fa0f3b0f9254b6a16aa.jpeg)
![fae35dc73176490e2692672256a04e82.png](https://i-blog.csdnimg.cn/blog_migrate/b81c73e982ef4d3aa6cc392bda17c3c7.jpeg)
![d4bcd67bbdaa2ce3fd3a8d3e75442eeb.png](https://i-blog.csdnimg.cn/blog_migrate/a7b4874bcdddb7abd9b23a2e631f3695.jpeg)
![4bafb69741abca64887e3b7f7f23da7e.png](https://i-blog.csdnimg.cn/blog_migrate/ff23c6b95096757010e40903f8b2a3a1.jpeg)
下面来具体介绍一下B-树(Balance Tree),一个m阶的B树具有如下几个特征:
1.根结点至少有两个子女。
2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m
3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m
4.所有的叶子结点都位于同一层。
5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。
![c5fd9371d403678440d109c8775712da.png](https://i-blog.csdnimg.cn/blog_migrate/f90578ed62e774e83e5869b6f1e906ce.jpeg)
![826a4c84e6993dcaa946d1df4c055d1b.png](https://i-blog.csdnimg.cn/blog_migrate/c3526f59d8260b2df4211a1da17b3af9.jpeg)
![b9bbc7df962de38bf84ceab8ef11988f.png](https://i-blog.csdnimg.cn/blog_migrate/b4cd309f3934071fdbe6acb02f4e6d5f.jpeg)
![0f083aa06ba31a7e185b185a528f5e4f.png](https://i-blog.csdnimg.cn/blog_migrate/c500d06e3c38a128aecf122f9d47d7cd.jpeg)
![c372067c5ac29a2f4ed297aa041e0e5a.png](https://i-blog.csdnimg.cn/blog_migrate/46cc6b6817b8fb21f6ae521ae2b3bb99.jpeg)
![0d5f0f33da9d1cd3e3e43cf44536a6b2.png](https://i-blog.csdnimg.cn/blog_migrate/09a5fdabcab889a83c059bae93e968e3.jpeg)
![38329b2f1062eee439c70dee8601a513.png](https://i-blog.csdnimg.cn/blog_migrate/50767dd48cd2c4188e582b27ec65fad9.jpeg)
第1次磁盘IO:
![7485f76f0f93a06998abb849202a2c2d.png](https://i-blog.csdnimg.cn/blog_migrate/1dbbc6452f815aafa4101df406524b64.jpeg)
在内存中定位(和9比较):
![03ed8d33c70846f48b50c6136f67a1d8.png](https://i-blog.csdnimg.cn/blog_migrate/477f18926525458a54fd368154b001ef.jpeg)
第2次磁盘IO:
![0a00ece02c6703011045074b376d41db.png](https://i-blog.csdnimg.cn/blog_migrate/fac0001577c756734750454d930499a5.jpeg)
在内存中定位(和2,6比较):
![3e0ee741234f1dea4d20c9bf9dbd4837.png](https://i-blog.csdnimg.cn/blog_migrate/3c26518f522cf54c2350b85d84927c2d.jpeg)
第3次磁盘IO:
![ad1ee4cd661fd4af1dcf64f273a1ecd4.png](https://i-blog.csdnimg.cn/blog_migrate/b77823d289a970c1000382397880f9f0.jpeg)
在内存中定位(和3,5比较):
![933d144e9eaeef4043b81d6f80e4b3f5.png](https://i-blog.csdnimg.cn/blog_migrate/0b6e72b85b0a41134d61d6149a41aa9a.jpeg)
![e6828cc04202b617acc6bf4e77d70bf1.png](https://i-blog.csdnimg.cn/blog_migrate/aa1885bd001683b89b952052c0c4bf96.jpeg)
![04bd77e17968065e5ddb28dff4a5cf48.png](https://i-blog.csdnimg.cn/blog_migrate/48277a2eaf2855dd379ef44ad66a317d.jpeg)
![b0f995e428f1fe4c4ded4c1793a14789.png](https://i-blog.csdnimg.cn/blog_migrate/dd423123967e4d470af0dc1c7d32235c.jpeg)
![6645b655e626d593bcc17f2c3a212687.png](https://i-blog.csdnimg.cn/blog_migrate/e32480ce5a5aeb10ef2c8461e2317d0b.jpeg)
![69bd37234ef41973055139f8b47ef0e7.png](https://i-blog.csdnimg.cn/blog_migrate/4a192497f5be18b22b172ef37a9b71e5.jpeg)
自顶向下查找4的节点位置,发现4应当插入到节点元素3,5之间。
![c9bfc7036cc06299e0e2029cb33bc334.png](https://i-blog.csdnimg.cn/blog_migrate/040469ea2761ee3ae347ffb5885d2fff.jpeg)
节点3,5已经是两元素节点,无法再增加。父亲节点 2, 6 也是两元素节点,也无法再增加。根节点9是单元素节点,可以升级为两元素节点。于是拆分节点3,5与节点2,6,让根节点9升级为两元素节点4,9。节点6独立为根节点的第二个孩子。
![abb4cdc40effe791d8ca17f724ed6369.png](https://i-blog.csdnimg.cn/blog_migrate/379182f78de45a7e52b081c0a40fe9c5.jpeg)
![376b6a69d2b2caadff140d00a53224b3.png](https://i-blog.csdnimg.cn/blog_migrate/f7527f77eff23350ad03f89f7956f15d.jpeg)
![e2420f487d43b5a937ddaeb5bbbbca05.png](https://i-blog.csdnimg.cn/blog_migrate/64b7da104014df36f0b11f250289a1f9.jpeg)
![6679a9365d251827ba8ce6430638bdc4.png](https://i-blog.csdnimg.cn/blog_migrate/c1acc525eeb1db183252177ac4a603c7.jpeg)
自顶向下查找元素11的节点位置。
![db4c1998c7e569c1ec3b3d949e3ff527.png](https://i-blog.csdnimg.cn/blog_migrate/ac34b0ebc754fdb7a90d1c2e712e424b.jpeg)
删除11后,节点12只有一个孩子,不符合B树规范。因此找出12,13,15三个节点的中位数13,取代节点12,而节点12自身下移成为第一个孩子。(这个过程称为左旋)
![de5301c8e14671c62d956b035bba56cf.png](https://i-blog.csdnimg.cn/blog_migrate/27dca18af54425d69954b82316a5d7af.jpeg)
![2f1ac77237b467d8bae9fe5753a7821c.png](https://i-blog.csdnimg.cn/blog_migrate/55d00d729b3f87f0ff144ac3d321c66b.jpeg)
![c8edb2b633d0c65239dc726d3cd83429.png](https://i-blog.csdnimg.cn/blog_migrate/2608d687b65ed5579507f46863c8c6a3.jpeg)
![9af8842fbf1326ffc0a6715f7d0d8ff0.png](https://i-blog.csdnimg.cn/blog_migrate/b195556e56be861bca7ced645a44c8fc.jpeg)
![b7f2e1b9923f6ca7fd419d76635af190.png](https://i-blog.csdnimg.cn/blog_migrate/900dd7c27fec8b691d747ce1db06cb06.jpeg)
![6fc59736c21d070cd9b3f20a4c91544a.png](https://i-blog.csdnimg.cn/blog_migrate/5e48de9f86180a7b8aae11b63d11992d.jpeg)
—————END—————
喜欢本文的朋友们,欢迎长按下图关注订阅号程序员小灰,收看更多精彩内容