当前位置: 首页 > news >正文

idc自动续费网站源码哪个网站做自行车评测的

idc自动续费网站源码,哪个网站做自行车评测的,成都网站建设代理加盟,深圳网络营销方法💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:高阶数据结构专栏⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多数据结构   🔝🔝 高阶数据结构 1. 前言2. B树讲解…

💓博主CSDN主页:杭电码农-NEO💓

⏩专栏分类:高阶数据结构专栏⏪

🚚代码仓库:NEO的学习日记🚚

🌹关注我🫵带你学习更多数据结构
  🔝🔝


在这里插入图片描述

高阶数据结构

  • 1. 前言
  • 2. B+树讲解
  • 3. B*树讲解
  • 4. 索引原理
  • 5. 总结

1. 前言

B树并不常用,就是因为有B+树的存在. MySQL的索引底层其实就是使用了B+树,请听我娓娓道来

本章重点:

本篇文章着重讲解B+树, B*树的概念和结构, 讲解引擎:MyISAM和 InnoDB的索引的底层原理


2. B+树讲解

B+树是B树的变形,是在B树基础上优化的多路平衡搜索树,B+树的规则跟B树基本类似,但是又在B树的基础上做了以下几点改进优化:

  1. 分支节点的子树指针与关键字个数相同
  2. 分支节点的子树指针p[i]指向关键字值大小在[k[i],k[i+1])区间之间
  3. 所有叶子节点增加一个链接指针链接在一起
  4. 所有关键字及其映射数据都在叶子节点出现

在这里插入图片描述

B+树的这个改进有效的减少了B树的消耗. 在最左边的叶子节点中, 是用链表将不同值链接起来的,并且父节点的关键字5就是链表的第一个元素, 链表中所有的元素都满足 5<=x<10. 所以可以看出, B树系列的数据结构就是一颗矮胖树,设计成为矮胖树的原因是查找时, 进行磁盘OI的次数少了,自然就提高效率了. 某种意义上来讲,B树系列更像是书本前面的目录, 方便你轻松的查找到一个值

在这里插入图片描述

B+树的分裂:

当一个结点满时,分配一个新的结点,并将原结点中1/2的数据复制到新结点,最后在父结点中增加新结点的指针;B+树的分裂只影响原结点和父结点,而不会影响兄弟结点,所以它不需要指向兄弟的指针。

分裂属于拓展,有兴趣可自行查资料


3. B*树讲解

B*树是B+树的变形,在B+树的非根和非叶子节点再增加指向兄弟节点的指针。

在这里插入图片描述

B*树的分裂:

当一个结点满时,如果它的下一个兄弟结点未满,那么将一部分数据移到兄弟结点中,再在原结点插入关键字,最后修改父结点中兄弟结点的关键字(因为兄弟结点的关键字范围改变了);如果兄弟也满了,则在原结点与兄弟结点之间增加新结点,并各复制1/3的数据到新结点,最后在父结点增加新结点的指针。所以,B*树分配新结点的概率比B+树要低,空间使用率更高;

在这里插入图片描述

虽然说B*树的空间利用率更高, 但是它的设计更绕更复杂, 所以在实际生活中, 反而B+树的运用场景比较多


4. 索引原理

B-树最常见的应用就是用来做索引。索引通俗的说就是为了方便用户快速找到所寻之物,比如:
书籍目录可以让读者快速找到相关信息,hao123网页导航网站,为了让用户能够快速的找到有价
值的分类网站,本质上就是互联网页面中的索引结构。

MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构,简单来说:索引就是数据结构。

在这里插入图片描述

MyISAM引擎: B+树

在这里插入图片描述

MyISAM引擎的B+树的叶子节点只是保存了表数据的地址, 当你通过索引查找对应的地址后, 再使用此地址直接找到数据. 这种索引方式称为非聚簇索引

InnoDB引擎: B+

InnoDB支持B+树索引、全文索引、哈希索引。但InnoDB使用B+Tree作为索引结构时,具体实现方式却与MyISAM截然不同。第一个区别是InnoDB的数据文件本身就是索引文件。MyISAM索引文件和数据文件是分离的,索引文件仅保存数据记录的地址。而InnoDB索引,表数据文件本身就是按B+Tree组织的一个索引结构,这棵树的叶节点data域保存了完整的数据记录。这个索引的key是数据表的主键,因此InnoDB表数据文件本身就是主索引.

在这里插入图片描述

叶节点包含了完整的数据记录,这种索引叫做聚集索引. 因为InnoDB的数据文件本身要按主键聚集,所以InnoDB要求表必须有主键. 学过MySQL的伙伴可能知道, 不仅仅主键可以根据主键创建索引, 还有唯一键索引,普通索引等. 那么他们是怎样工作的呢? 答案是, 非主键索引的B+树的叶子节点中存储的是这一行对应的主键值, 然后再根据这个主键值去主键索引中找到所有数据


5. 总结

B树系列的应用一般是在磁盘,也就是外数据的查询, 它的思想是值得我们学习的

🔎 下期预告:跳表详解 🔍
http://www.yayakq.cn/news/921263/

相关文章:

  • 网站模板在线演示怎么做网站优化布局
  • 移动端网站建设重点有哪些什么都不懂能做电商吗
  • 手机网站建设平台wordpress 图片 alt
  • 深圳招聘网站排行wordpress模版主题
  • 建设网站哪个公司好我们的社区手机在线观看
  • 网站开发属于什么岗位p2p网站建设 上海
  • 热烈祝贺公司网站上线深圳网上推广怎么做
  • 微信公众号微网站开发类型广州番禺发布网
  • dw织梦做网站手机网站制作代理
  • 外贸网站的域名阿里买域名 电脑做网站
  • wordpress如何换域名襄阳网站seo技巧
  • 网站推广方案策划专业购物网站建设价格
  • dw设计一个简单网站网站开发需要懂多少代码
  • 重庆网站制作教程余姚网站建设的公司
  • 山东网站备案公司吗网页设计源代码
  • 临沂网站优化如何软文营销的概念是什么
  • 如何在路由器上做网站转跳网站定制开发收费标准是多少
  • 网站运营技术性高吗火蝠电商合作需要多少钱
  • 东莞做网站seo设计网站哪个好用
  • 免费代理做企业网站建筑公司的名字怎么取才好
  • 深圳好的网站建设公司哪家好企业网站跟微信支付怎么做
  • 长春网站建设技术托管app开发公司费用
  • 长春品牌网站建设公司房产网站系统哪个好
  • 苍南住房和城乡规划建设局网站深圳 网站设计师 招聘
  • 房屋租赁网站开发需求分析网站设计分析
  • 网站搭建免费软件x wordpress theme
  • 电影下载网站模板淘宝联盟填网站备案
  • 九龙坡网站建设哪家好wordpress主题识别
  • 哪个网站做二手叉车回收好手机优化助手怎么样
  • 做淘宝客网站详细步骤织梦网站字体