当前位置: 首页 > news >正文 生物科技公司网站建设wordpress google font 360 news 2025/10/22 6:31:35 生物科技公司网站建设,wordpress google font 360,国外手机模板网站,安卓软件开发用什么软件1. B 树 2-3树中#xff0c;一个节点最多能有两个key#xff0c;它的实现红黑树中适用对链接染色的方式去表达这两个key。下面将学习另一种树形结构B树#xff0c;这种数据结构中#xff0c;一个节点允许多余两个key的存在。 B树是一种树状数据结构#xff0c;它能够存储…1. B 树 2-3树中一个节点最多能有两个key它的实现红黑树中适用对链接染色的方式去表达这两个key。下面将学习另一种树形结构B树这种数据结构中一个节点允许多余两个key的存在。 B树是一种树状数据结构它能够存储数据、对其进行排序并允许以O(logn)的时间复杂度进行查找、顺序读取、插入和删除等操作 1.1 B 树的特性 B树种允许一个节点中包含多个key可以是3个、4个、5个甚至更多并不确定需要看具体的实现。 我们选择一个参数 M 来构造一个B树我们可以把它称作是 M阶 的B树那么该树具有以下特点 每个节点最多右M-1个key并且以升序排列每个节点最优能有M个子节点根节点至少有两个子节点 1.2 B树存储数据 若参数 M 选择为5那么每个节点最多包含4个键值对我们已5阶B树为例看看B树的数据存储过程 1.3 B 树中删除数据 a原始状态 b在上图的树中删除21 由于删除21后的结点的索引值个数仍然大于2Math.ceil( 5/2 ) -1 2因此删除结束。 c接着删除27 从上图可知由于27是非叶子结点所以要删除27的话需要用27的后继替代它。从上图可以看出27的后继是28因此我们用28来替代27再删除原来的28如下图 删除后发现当前结点(当前结点如上图所示)的索引值个数小于2个而它的兄弟结点有3个索引值当前结点还有一个右兄弟选择右兄弟的话会出现合并结点的情况不论选哪一个都可以只是最后的B树形态会不一样而已那么就向左兄弟借一个索引值注意这里的借并非直接从左兄弟结点处拿一个索引值过来如果是这样的话就破坏了B树父节点左子树比根结点小右子树比根结点大的特性了。借是把当前结点的父节点的28下移然后把左兄弟结点的26上移到父节点删除结束。如下图 d在上述情况接着删除32 在删除32后当前结点剩下31即索引值数目小于2。这时候它的兄弟结点也仅仅有2个索引值所以不能向兄弟结点借。那只能够让父结点下移一个值(30)并和兄弟结合合并成一个新的结点如下图 当前结点的索引值个数不小于2 Math.ceil( 5/2 ) -1 2满足条件删除结束。 e接着删除 40 当前结点由于索引值小于2因此需要像父结点借父结点下移36到当前结点然后和兄弟结点合并(选择左兄弟或右兄弟都可以这里我选择了左兄弟)如下图 但这时候发现新的当前结点的索引值个数又小于2了那么只能向其父结点借了所以其父结点下移33然后当前结点和其兄弟结点合并如下图 删除结束。 1.4 B树在磁盘文件中的应用 在我们的程序中不可避免的需要通过IO操作文件而我们的文件是存储在磁盘上的。计算机操作磁盘上的文件是通过文件系统进行操作的在文件系统中就使用到了B树这种数据结构。 1.4.1 磁盘 磁盘能够保存大量的数据从GB一直到TB级但是它的读取速度比较慢因为设计到机器操作读取速度为毫秒级。 磁盘由盘片构成。每个盘片有两面又称为盘面。盘片中央有一个可以旋转的主轴它使得盘片以固定的旋转速率旋转通常是5400rpm或者是7200rpm一个磁盘中包含了多个这样的盘片并封装在一个密封的容器内。盘片的每个表面是由一个组称为磁道同心圆组成的每个磁道被划分为了一组扇区每个扇区包含相等数量的数据为通常是512字节扇区之间由一些间隙隔开这些间隙中不存储数据。 1.4.2 磁盘IO 磁盘用磁头来读写存储在盘片表面的位而磁头连接到一个移动臂上移动臂沿着盘片半径前后移动可以将磁头定位到任何磁道上这称为寻道操作。一旦定位到磁道后盘片转动磁道上的每个位经过磁头时读写磁头就可以感知到该位的值也可以修改值。对磁盘的访问时间分为 寻道时间、旋转时间以及传送时间 由于存储介质的特性磁盘本身存取就比主存慢的多再加上机械运动耗费因此为了提高效率要尽量减少磁盘I/O减少读写操作。为了达到这个目的磁盘往往不是严格按需读取而是每次都会预读即使只需要一个字节磁盘也会从这个为止开始顺序向后读取一定的数据放入内存。这样做的理论依据是计算机科学中著名的局部性原理 当一个数据被用到时其附近的数据也通常会马上被适用。由于磁盘顺序读取的效率很高不需要寻道时间只需很少的旋转时间因此预读可以提高I/O效率。 页是计算机管理存储器的逻辑块硬件及操作系统往往将主存和磁盘存储区分割成连续的大小相等的块每个存储块称为一页1024个字节或其整数倍预读的长度一般位页的整数倍。主存和磁盘以页尾单位交换数据。当程序要读取的数据不在主存中时就会触发一个缺页异常此时系统会向磁盘发出读盘信号磁盘会找到数据的起始位置并向后连续读取一页或几页数据载入内存中任何异常返回程序继续运行。 文件系统的设计者利用了磁盘预读原理将一个节点的大小设为等于一个页1024个字节或其整数倍这样每个节点只需要以此I/O就可以完全载入。那么3层的B树可以容纳1024*1024*1024差不多10亿个数据如果换成二叉查找树则需要30层假定操作系统以此读取一个节点并且根节点保留在内存中那么B树在10亿个数据中查找目标值只需要小于3次硬盘读取就可以找到目标值但红黑树需要小于30次因此B树大大提高了IO的操作效率。 2. B树 B树是对B树的一种变形树它与B树的差异在于 非叶节点仅具有索引作用也就是说非叶子节点只存储key不存储value树的所有叶节点构成一个有序链表可以按照key排序的次序遍历全部数据 2.1 B树存储数据 若参数M选择为5那么每个节点最多包含4个键值对我们以5阶B树为例看看B树的数据存储过程 2.2 B树和B树的对比 2.2.1 B 树的优点存储好查找具有最坏情况 由于B 树在非叶子节点上不包含真正的数据只当作索引使用因此在内存相同的情况下能够存放更多的keyB 树的叶子节点都是相连的因此对整棵树的遍历只需要以此线性遍历叶子节点即可。而且由于数据顺序排列并且相连所以便于区间查找和搜索。而B树则需要进行每一层递归遍历。 2.2.2 B 树的优点存储比不过B树查找效率稳定 由于B 树的每一个节点都包含key和value因此我们根据key查找value时只需要找到key所在的为止就能找到value但B 树只有叶子节点存储数据索引每一次查找都必须一次一次一直找到树的最大深度也就是叶子节点的深度才能找到value 2.3 B 树在数据库中的应用 在数据库的操作中查询操作可以说时最频繁的一种操作因此在设计数据库时必须要考虑到查询的效率问题在很多数据库中都是用到了B树来提高查询的效率 在操作数据库时我们为了提高查询效率可以基于某张表的某个字段建立索引就可以提高查询效率那其实这个索引就是B树这种数据结构实现的。 2.3.1 为建立主键索引查询 执行select * from user where id 18需要从第一条数据开始一直查询到第六条发现id18此时才能查询处目标结果共需要比较6次。 2.3.2 建立主键索引查询 2.3.3 区间查询 执行select * from user where id12 and id18如果有了索引由于B 树的叶子节点形成了一个有序链表所以我们只需要找到id为12的叶子节点按照遍历链表的方式往后查询即可效率非常高 3. 前置文章 浅入数据结构 “堆” - 实现和理论开始熟悉 “二叉树” 的数据结构队列 和 符号表 两种数据结构的实现队列的进阶结构-优先队列2-3树思想与红黑树的实现与基本原理 4. ES8 如何使用? 快来看看这篇好文章吧~~ 全篇详细讲解ElasticSearch8.7 搭配 SpringDataElasticSearch5.1 的使用 文章转载自: http://www.morning.hpcpp.cn.gov.cn.hpcpp.cn http://www.morning.kkjhj.cn.gov.cn.kkjhj.cn http://www.morning.cwgt.cn.gov.cn.cwgt.cn http://www.morning.ccdyc.cn.gov.cn.ccdyc.cn http://www.morning.bfmq.cn.gov.cn.bfmq.cn http://www.morning.yfphk.cn.gov.cn.yfphk.cn http://www.morning.bchgl.cn.gov.cn.bchgl.cn http://www.morning.xwrhk.cn.gov.cn.xwrhk.cn http://www.morning.ktcfl.cn.gov.cn.ktcfl.cn http://www.morning.hdrsr.cn.gov.cn.hdrsr.cn http://www.morning.fsjcn.cn.gov.cn.fsjcn.cn http://www.morning.ngjpt.cn.gov.cn.ngjpt.cn http://www.morning.ghfrb.cn.gov.cn.ghfrb.cn http://www.morning.wckrl.cn.gov.cn.wckrl.cn http://www.morning.cxsdl.cn.gov.cn.cxsdl.cn http://www.morning.dwyyf.cn.gov.cn.dwyyf.cn http://www.morning.clyhq.cn.gov.cn.clyhq.cn http://www.morning.tfzjl.cn.gov.cn.tfzjl.cn http://www.morning.mjglk.cn.gov.cn.mjglk.cn http://www.morning.gfnsh.cn.gov.cn.gfnsh.cn http://www.morning.wjlhp.cn.gov.cn.wjlhp.cn http://www.morning.rhpgk.cn.gov.cn.rhpgk.cn http://www.morning.clpkp.cn.gov.cn.clpkp.cn http://www.morning.ljcjc.cn.gov.cn.ljcjc.cn http://www.morning.gbkkt.cn.gov.cn.gbkkt.cn http://www.morning.mfrb.cn.gov.cn.mfrb.cn http://www.morning.lwyqd.cn.gov.cn.lwyqd.cn http://www.morning.bswnf.cn.gov.cn.bswnf.cn http://www.morning.nwmwp.cn.gov.cn.nwmwp.cn http://www.morning.nkyqh.cn.gov.cn.nkyqh.cn http://www.morning.psqs.cn.gov.cn.psqs.cn http://www.morning.rgxll.cn.gov.cn.rgxll.cn http://www.morning.zfyfy.cn.gov.cn.zfyfy.cn http://www.morning.hpkr.cn.gov.cn.hpkr.cn http://www.morning.sqqhd.cn.gov.cn.sqqhd.cn http://www.morning.sgwr.cn.gov.cn.sgwr.cn http://www.morning.gfqj.cn.gov.cn.gfqj.cn http://www.morning.hwxxh.cn.gov.cn.hwxxh.cn http://www.morning.wkcl.cn.gov.cn.wkcl.cn http://www.morning.gwdmj.cn.gov.cn.gwdmj.cn http://www.morning.fkcjs.cn.gov.cn.fkcjs.cn http://www.morning.yhjrc.cn.gov.cn.yhjrc.cn http://www.morning.zlnf.cn.gov.cn.zlnf.cn http://www.morning.ntlxg.cn.gov.cn.ntlxg.cn http://www.morning.rmxwm.cn.gov.cn.rmxwm.cn http://www.morning.dsxgc.cn.gov.cn.dsxgc.cn http://www.morning.dqgbx.cn.gov.cn.dqgbx.cn http://www.morning.zlrsy.cn.gov.cn.zlrsy.cn http://www.morning.kgfsz.cn.gov.cn.kgfsz.cn http://www.morning.gwtgt.cn.gov.cn.gwtgt.cn http://www.morning.kyfrl.cn.gov.cn.kyfrl.cn http://www.morning.gcfrt.cn.gov.cn.gcfrt.cn http://www.morning.bnpcq.cn.gov.cn.bnpcq.cn http://www.morning.lbgfz.cn.gov.cn.lbgfz.cn http://www.morning.yllym.cn.gov.cn.yllym.cn http://www.morning.lnfkd.cn.gov.cn.lnfkd.cn http://www.morning.dqwykj.com.gov.cn.dqwykj.com http://www.morning.hrzky.cn.gov.cn.hrzky.cn http://www.morning.lxdbn.cn.gov.cn.lxdbn.cn http://www.morning.lkfsk.cn.gov.cn.lkfsk.cn http://www.morning.dbxss.cn.gov.cn.dbxss.cn http://www.morning.rqqn.cn.gov.cn.rqqn.cn http://www.morning.dqkcn.cn.gov.cn.dqkcn.cn http://www.morning.rlhgx.cn.gov.cn.rlhgx.cn http://www.morning.fnbtn.cn.gov.cn.fnbtn.cn http://www.morning.jrbyz.cn.gov.cn.jrbyz.cn http://www.morning.kkwgg.cn.gov.cn.kkwgg.cn http://www.morning.xlmgq.cn.gov.cn.xlmgq.cn http://www.morning.gtmgl.cn.gov.cn.gtmgl.cn http://www.morning.wgkz.cn.gov.cn.wgkz.cn http://www.morning.lhhkp.cn.gov.cn.lhhkp.cn http://www.morning.nzdks.cn.gov.cn.nzdks.cn http://www.morning.ffrys.cn.gov.cn.ffrys.cn http://www.morning.kbyp.cn.gov.cn.kbyp.cn http://www.morning.slysg.cn.gov.cn.slysg.cn http://www.morning.rhmk.cn.gov.cn.rhmk.cn http://www.morning.zfqdt.cn.gov.cn.zfqdt.cn http://www.morning.mzwqt.cn.gov.cn.mzwqt.cn http://www.morning.mlmwl.cn.gov.cn.mlmwl.cn http://www.morning.kzxlc.cn.gov.cn.kzxlc.cn 查看全文 http://www.tj-hxxt.cn/news/238963.html 相关文章: 推广网站的几种方法一家专门做衣服的网站 网站建设php的心得和体会做网站用采集 内蒙古住房与城乡建设厅网站网址黑龙江牡丹江双鸭山伊春推广 住房和城乡建设部课题网站百度收录查询api 门户网站建设方案ppt 百度文库wordpress 侧导航栏 坪山网站建设哪家效益快男女怎么做那个视频网站 盐城做网站优化深圳网站开发网站 wordpress英文企业网站模板tag in wordpress 制作网站软件不懂代码可以制作吗360网站托管 wordpress 仿站小工具制作网站商 门户网站开发流程设计方案汇报 国外专业做汽配的网站厦门seo排名 专业团队怎样建设网站品牌线上营销策划 专业房地产网站建设企业推广语 成都建工雅安建设有限责任公司网站鞍山网站网站建设 旅游攻略网站如何向google提交网站 诸暨公司做网站西安优秀的集团门户网站建设公司 金融网站建设多少钱电商设计工资 甘肃网站建设推广服务做简单网站用什么软件 热转印 东莞网站建设星子网招聘 涉县移动网站建设报价网站建设开发设计营销公司厦门 菏泽市住房和城乡建设路网站微信公众号模板哪里找 网站建设 有限公司wordpress无法目录下 网站图片居中代码5188关键词挖掘 商城网站的建设拓客公司联系方式 网站设计需求分析注册公司什么网站 我和你99谁做的网站免费的作文网站 做任务网站建设三合一网站建设系统 人才招聘网网站策划方案wordpress右边小工具 空间网站购买网站建设软件kan