广州网站建设流程,网站建设邀请招标书,特种作业证查询,福州网站定制公司B树(B-tree)
B树属于多叉树又名平衡多路查找树#xff08;查找路径不只两个#xff09;#xff0c;数据库索引技术里大量使用着B树和B树的数据结构
规则#xff1a;
#xff08;1#xff09;排序方式#xff1a;所有节点关键字是按递增次序排列#xff0c;并遵循左小…B树(B-tree)
B树属于多叉树又名平衡多路查找树查找路径不只两个数据库索引技术里大量使用着B树和B树的数据结构
规则
1排序方式所有节点关键字是按递增次序排列并遵循左小右大原则
2子节点数非叶节点的子节点数1且M 且M2空树除外注M阶代表一个树节点最多有多少个查找路径MM路,当M2则是2叉树,M3则是3叉
3关键字数枝节点的关键字数量大于等于ceil(m/2)-1个且小于等于M-1个注ceil()表示向上取整 如ceil(1.1)结果为2);
4所有叶子节点均在同一层、叶子节点除了包含了关键字和关键字记录的指针外也有指向其子节点的指针只不过其指针地址都为null对应下图最后一层节点的空格子;
B树
规则
每一个父节点的元素都出现在子节点中是子节点的最大最小元素因此根节点的最大元素也是整个B树的最大元素。 2每一个叶子结点都带有指向下个节点的指针形成了一个有序链表。
3只有叶子结点有其索引指向的数据记录中间节点仅是索引。
B树的特征
1.有k个子树的中间节点包含有k个元素B树中是k-1个元素每个元素不保存数据只用来索引所有数据都保存在叶子节点。
2.所有的叶子结点中包含了全部元素的信息及指向含这些元素记录的指针且叶子结点本身依关键字的大小自小而大顺序链接。链表
3.所有的中间节点元素都同时存在于子节点在子节点元素中是最大或最小元素。
4、B树查找时是从上到下查找B-树则是从下往上查找中序遍历
B树的优势
1.单一节点存储更多的元素这样该节点下分支变多了树变矮胖了使得查询的IO次数更少。
2.所有查询都要查找到叶子节点查询性能稳定。
3.所有叶子节点形成有序链表便于范围查询。 ASL平均查找长度
设关键字个数为n,在各关键字等概率查找的前提下, 1、顺序查找的平均查找长度ASL(n1)/2, 2、在n趋于无穷大时,折半查找的ASL((n1)log2(n1))/n - 1,当n大于50时,ASL约等于log2(n1)-1 3、设分块查找中将长为 n 的表分成均等的 b 个块,每块 s 个元素,则 b (n / s)上取整,如果索引表中采用顺序查找,则ASL(b1)/2(s1)/2如果索引表中采用折半查找,则ASL(s1)/2log2(b1)-1
折半查找
例给11个数据元素有序表2,3,10,15,20,25,28,29,30,35,40采用折半查找。则ASL成功和不成功分别是多少 分块查找
分块查找又称索引顺序查找它是顺序查找的一种改进方法。 算法流程
先选取各块中的最大关键字构成一个索引表查找分两个部分先对索引表进行二分查找或顺序查找以确定待查记录在哪一块中然后在已确定的块中用顺序法进行查找。