From 587aa24985dadeb8b810273aa4a8934e398ab5a0 Mon Sep 17 00:00:00 2001 From: Shine wOng <1551885@tongji.edu.cn> Date: Tue, 18 Jun 2019 20:31:42 +0800 Subject: [PATCH] Create a conclusion on B-tree , adding some supporting pictures as well. --- thu_dsa/chp8/B-tree.md | 292 ++++++++++++++++++++++++- thu_dsa/chp8/RB-tree.md | 28 +++ thu_dsa/chp8/images/Btree_and_BST.png | Bin 0 -> 71486 bytes thu_dsa/chp8/images/Btree_merge.png | Bin 0 -> 24039 bytes thu_dsa/chp8/images/Btree_rotation.png | Bin 0 -> 26721 bytes thu_dsa/chp8/images/Btree_split.png | Bin 0 -> 33458 bytes 6 files changed, 310 insertions(+), 10 deletions(-) create mode 100644 thu_dsa/chp8/RB-tree.md create mode 100644 thu_dsa/chp8/images/Btree_and_BST.png create mode 100644 thu_dsa/chp8/images/Btree_merge.png create mode 100644 thu_dsa/chp8/images/Btree_rotation.png create mode 100644 thu_dsa/chp8/images/Btree_split.png diff --git a/thu_dsa/chp8/B-tree.md b/thu_dsa/chp8/B-tree.md index 17187f9..16213d1 100644 --- a/thu_dsa/chp8/B-tree.md +++ b/thu_dsa/chp8/B-tree.md @@ -1,24 +1,296 @@ -B树知识总结 -========= +Conclusion on B-Tree +==================== -## B树的概念 +## B树的基本概念 -> 为什么B树又宽又矮? +> 什么是B树? + +B树其实是由二叉搜索树变化而来,它的本质仍然是二叉搜索树。如下面的图所示,将原有的二叉搜索树的结点进行适当的合并,得到超级结点。由这些超级结点组成的新的树,就是一棵B树。 + +![Btree_and_BST](images/Btree_and_BST.png) + +应该注意的是,并不是所有由超级结点组成的搜索树都是B树。B树一定是一棵多路平衡搜索树,也就是构成B树原本的BST可以是不平衡的,但是经过超级结点的重组之后,新得到的B树一定是平衡的。 > 为什么需要B树? -B树和二叉搜索树完全等效,将多个结点合成一个超级结点的多路平衡搜索树而已。所以,为什么还需要B树 +既然B树是由BST的结点合并重组而来,其本质上和BST完全等效,那么B树存在的意义是什么? -> B树的定义 +这里就需要考虑多级存储系统了。考虑某个大型数据文件在某低级存储介质上(如硬盘)以二叉平衡树AVL的形式组织。假如该文件的大小为1G,即$2^30$。这样每次查找至多需要30次I/O操作。我们知道,不同存储介质之间的访问速度差异往往是巨大的,例如内存的访问速度大约是硬盘的$10^5$倍,尽管最坏情况下也只需要30次访问,但是这样30次硬盘访问操作的代价其实是非常巨大的。 -m阶B树,即m路平衡搜索树。分支数上界为m,下界为[m/2]取上整 +而如果采用B树的话,我们已经注意到,树的整体高度会显著降低。此时的问题是,每次需要从外存中读入一个超级结点,它可能包含了许许多多先前的普通结点,对这样超级结点的I/O操作需要花费的时间又如何呢? -叶节点,外部结点的区别与联系。B树高度的定义 +得益于外存访问的缓存机制,从外存中访问一个数据或者是多个数据,它们需要的时间几乎是没有区别的。这是因为在硬件的设计中,不同层次存储器之间往往设置一个buffer,用来缓冲读写的数据,基于此,外存可以提供对批量访问的高效支持。这样,从外存中读取一个超级结点和读取一个普通结点,其时间代价几乎是一样的,而由于B树高度相较于传统的BST显著降低,在多级存储系统中,采用B树可以大大减少I/O次数。 + +> B树的定义。 + +下面给出B树完整的定义。 + +所谓m阶B树,本质是m路平衡搜索树。树中的每个结点,除根结点外,至多拥有m个分支,但是至少也要拥有$\left \lceil m/2 \right \rceil$个分支,这里的$\left \lceil \right \rceil$是取上整。对于根结点,可以只拥有两个分支,但不可以少于两个分支。 + +这里需要区别B树的叶结点(leaf node)和外部结点(external node)。叶结点就是处于B树最底层的,实际存在的结点。而外部结点则是假想的,不存在的,叶结点不具有的子结点。对于上述B树的定义并不能保证B树是一棵平衡树,因此需要再附加<外部结点的深度统一相等,所有叶结点的深度统一相等>的条件。 + +B树高度定义为外部结点的深度,而与传统的BST高度的定义不同。 + +> B树的最小高度和最大高度? + +首先考虑B树的最大高度,此时根结点为单个结点,并且只具有两个子代(超)结点。每个非根结点都只拥有$\left \lceil m/2 \right \rceil$个分支,亦即只拥有$\left \lfloor m/2 \right \rfloor$个关键码。这样,$n_0 = 1, n_1 = 2[m/2], n_k = 2[m/2]^k$。设B树的总(关键字)结点数量为N,所以外部结点数为N + 1,故有 +$$ +N + 1 = n_h \ge 2[m/2]^h +$$ +所以 +$$ +h \le log_{[m\2]}^{\frac{N+1}{2}} = O(log_m^N) +$$ +可以看到,与普通的BBST相比,B树的最大高度要降低了$log_2^m$倍,若取m = 256,树高(I/O次数)约降低至1/7。 + +同理的方法可以分析B树的最小高度,即$n_0 = m - 1, n_1 = (m-1)^2, n_k = (m-1)^(k+1)$,所以对于所有的外部结点有 +$$ +N + 1 = n_h \le (m-1)^{h+1} +$$ +所以 +$$ +h \ge log_{m-1}^{N+1} - 1 = \Omega(log_m^N) +$$ +同样地,若取m = 255,相对传统的BBST,B树的高度(I/O次数)约降低至1/8。 + +> 为什么B树又宽又矮? + +邓公说这个问题需要自己慢慢体悟... + +## B树的操作 + +B树查找操作的内涵和前面的BST以及AVL是完全一致的,只是在相关细节方面稍作修改以适应B树的结构。对于B树动态操作,即插入和删除,和其他平衡搜索树一样,主要是关注一次操作导致B树结构改变,以至于不再满足B树的定义时,需要对树的结构进行的修正。 + +## B树调整算法 + +> B树的上溢调整。 + +进行一次插入操作后,如果某个超级结点的分支数超过了该B树固定的分支数,就会引发上溢异常。在这种情况下,就需要对B树进行上溢调整。 + +上溢调整的主要思路是分裂,即将一个上溢的超级结点分裂成两个较小的超级结点,这样该结点的父结点就会增加一个分支,从而需要添加一个关键码以维持结点数与分支数的平衡。可以选择上溢的结点的中间结点添加到父结点的关键码中,上溢结点以该关键码为界分裂成两个更小的超级结点。如下图所示: + +![Btree_split](images/Btree_split.png) + +可以证明,以这种方法来对上溢结点进行调整,的确可以解决该上溢结点的上溢异常,并且分裂的两个超级结点也都满足B树的定义。证明如下: + +发生上溢的结点必然具有m个关键码,分裂后的左右两个超级结点分别都具有$\frac{m-1}{2}$个关键码。设m为奇数,则左右结点的关键码数量相同,都等于$\frac{m-1}{2}$,此时每个结点所含的最少的关键码数量为$\left \lceil m/2 \right \rceil - 1= \frac{m-1}{2}$,刚好可以满足条件。 + +若m为偶数,设左结点的关键码数为$\frac{m}{2}$,那么右结点的关键码数尾$\frac{m}{2} - 1$,此时每个结点所含的最少关键码数为$m / 2 - 1$,同样是满足要求的。故得证。 + +需要注意的是,上溢调整后相当于原上溢结点的父结点也被插入了一个新的结点,因此该结点也可能因此产生上溢异常。通过这种方式,上溢可能会持续发生,并且不断地向上传播,直到传播至根结点。此时,应该将原根结点分裂,并且将中间结点提升为新的根结点,这也是B树高度增加的唯一方式。需要注意的是,此时根结点只具有两个分支,这也是B树定义中根结点的分支数不必遵守下限的原因。 + +上溢调整的具体代码如下: + +```cpp +template +void BTree::solveOverflow(BTNodePosi(T) x){ + while (x->keys.getSize() == __order) { + int mid = __order / 2; + BTNodePosi(T) newLeaf = new BTNode(); + BTNodePosi(T) p = x->parent; + + //construct split node + int ix = mid + 1; + newLeaf->children[0] = x->children[ix]; + if (x->children[ix]) x->children[ix]->parent = newLeaf; + for(;ix != __order; ++ix){ + newLeaf->keys.push_back(x->keys[ix]); + newLeaf->children.push_back(x->children[ix + 1]); + if (x->children[ix + 1]) x->children[ix + 1]->parent = newLeaf; + } + + if(!p){//construct new __root + __root = new BTNode(x->keys[mid], x, newLeaf); + x->parent = __root; + newLeaf->parent = __root; + p = __root; + } + else { + int pos = p->keys.search(x->keys[mid]); + p->keys.insert(pos + 1, x->keys[mid]); + p->children.insert(pos + 2, newLeaf); + newLeaf->parent = p; + } + + x->keys.pop(mid, __order); + x->children.pop(mid + 1, __order + 1); + + x = p; + } +} +``` + +> B树的下溢调整。 + +与上溢异常相对应,当从B树中删除一个结点时,如果当前超级结点的分支数少于B树分支数的下限,就会产生下溢异常,此时需要对该结点进行下溢调整来恢复B树原本的性质。 + +下溢调整主要有两个策略。首要考虑的是<左顾右盼>,即产生下溢缺陷的结点首先去判断它的左右兄弟结点是否有多余的结点,如果的确有,那么可以从它的左右兄弟中借一个到当前产生下溢的结点中,这样下溢缺陷就可以修复。 + +这里需要注意的是,实际借的结点并不是真的左右兄弟的结点,因为B树同时还要满足BST的局部有序性,所以实际上是左右兄弟的结点与父结点之间做了一个旋转,如下图所示: + +![Btree_rotation](images/Btree_rotation.png) + +借了这个结点后,被借的那个兄弟结点还需要将自己的一个子结点转让给下溢结点,才能使全树重新满足B树的性质。 + +可是,倘若左右兄弟结点都没有多余的关键码可借,就需要进行合并调整策略,这个过程其实就是上面分裂过程的逆过程。简单说来,就是将下溢结点,连同左/右结点中的一个,以及处于它们之间的父结点的关键码合并成为一个更大的超结点。具体的过程如下图所示: + +![Btree_merge](images/Btree_merge.png) + +可以证明,通过这种方式合并后产生的结点,一定是满足B树对结点的要求的。证明方法与上面分裂过程的证明一样。 + +需要注意的是,一次下溢操作后,相当于从下溢结点的父结点也删除了一个关键码,从而其父结点相应的也有可能会产生下溢异常。因此,这种下溢异常可以不断地向上传播,直到传播至根结点。倘若唯一的根结点也产生下溢,那么全树的高度就会下降1,这也是B树高度降低的唯一原因。下溢调整过程的具体代码如下: + +```cpp +template +void BTree::solveUnderflow(BTNodePosi(T) x){ + while (x != __root && x->children.getSize() == ((__order - 1) >> 1)) { + BTNodePosi(T) p = x->parent; + int pos = 0; + while (p->children[pos] != x) ++pos; + BTNodePosi(T) leftSibling = (pos != 0 ? p->children[pos - 1] : nullptr); + BTNodePosi(T) rightSibling = (pos != p->children.getSize() - 1 ? p->children[pos + 1] : nullptr); + + //look around left and right + if (leftSibling && leftSibling->children.getSize() > ((__order + 1) >> 1)) { + x->keys.insert(0, p->keys[pos - 1]); + x->children.insert(0, leftSibling->children.pop_back()); + if (x->children[0]) x->children[0]->parent = x; + + p->keys[pos - 1] = leftSibling->keys.pop_back(); + return; + } + else + if (rightSibling && rightSibling->children.getSize() > ((__order + 1) >> 1)) { + x->keys.push_back(p->keys[pos + 1]); + x->children.push_back(rightSibling->children.pop(0)); + if (x->children[x->children.getSize() - 1]) x->children[x->children.getSize() - 1]->parent = x; + + p->keys[pos + 1] = rightSibling->keys.pop(0); + return; + } + else { + if (leftSibling) {//merge left sibling + leftSibling->keys.push_back(p->keys[pos - 1]); + int ix = 0; + for (; ix != x->keys.getSize(); ++ix) { + leftSibling->keys.push_back(x->keys[ix]); + leftSibling->children.push_back(x->children[ix]); + if (x->children[ix]) x->children[ix]->parent = leftSibling; + } + leftSibling->children.push_back(x->children[ix]); + if (x->children[ix]) x->children[ix]->parent = leftSibling; + + p->keys.pop(pos - 1); + p->children.pop(pos); + delete x; + } + else { //merge right sibling + x->keys.push_back(p->keys[pos]); + int ix = 0; + for (; ix != rightSibling->keys.getSize(); ++ix) { + x->keys.push_back(rightSibling->keys[ix]); + x->children.push_back(rightSibling->children[ix]); + if (rightSibling->children[ix]) rightSibling->children[ix]->parent = x; + } + x->children.push_back(rightSibling->children[ix]); + if (rightSibling->children[ix]) rightSibling->children[ix]->parent = x; + + p->keys.pop(pos); + p->children.pop(pos + 1); + delete rightSibling; + } + if (p == __root && p->keys.getSize() == 0) { + __root = p->children[0]; + __root->parent = 0; + p = __root; + } + x = p; + } + } +} +``` + +可以看到,下溢的处理的确比上溢的处理复杂得多。其实对比其他搜索树,也有同样的性质。无论是BST, AVL, 还是伸展树,乃至后面的红黑树,删除操作都要比插入操作复杂得多。 ## B树的查找 +B树的查找本质上和BST的查找没什么区别,关键是接口语义进行一个定义。B树查找同样需要维护一个`__hot`变量,来记录被查找结点的父结点,如果被查找的关键字不存在,则`__hot`应指向查找失败前的那个叶结点。 + +查找操作返回的是目标关键码所在的超结点,因此如果希望确定地找到目标关键码,还需要对超结点的`Vector`进行一次查找操作。 + +查找的代码如下: + +```cpp +template +BTNodePosi(T) BTree::search(T const &key){ + BTNodePosi(T) x = __root; + __hot = nullptr; + int pos; + while(x){ + pos = x->keys.search(key); + if (pos != -1 && x->keys[pos] == key) break; + //else + __hot = x; + x = x->children[pos + 1]; + } + return x; +} +``` + ## B树的插入 -B树高度增加的唯一情况,与B树根节点可以只拥有两个分支,之间的关系 +B树插入首先还是进行常规的插入操作,即无论是否会产生溢出,都首先将目标关键码插入到对应的超级结点中,随后再调用上面的`solveOverflow`方法对可能出现的上溢进行调整。 -由于只有上溢才能导致B树高度增加,B树的内部结点不可能有指向`nullptr`的指针 +需要注意插入了关键码后,还需要添加一个分支指针,由于插入总是发生在叶结点,该超级结点所有分支指针一定为`nullptr`,所以可以添加在分支指针`Vector`的最后面。具体的代码如下: + +```cpp +template +bool BTree::insert(T const &key){ + BTNodePosi(T) x = search(key); + if (x) return false; + //else + x = __hot; + int pos = x->keys.search(key); + x->keys.insert(pos + 1 , key); + x->children.push_back(nullptr); + ++__size; + + solveOverflow(x); + return true; +} +``` + +## B树的删除 + +B树的删除就比较复杂了。首先肯定还是先在目标关键码所在的超级结点中删除掉目标关键码,之后再调用上面的`solveUnderflow`方法进行可能出现的下溢调整操作。 + +对于目标关键码的删除还是要分情况讨论: + ++ 如果目标关键码所在的超级结点是叶结点,那么就可以直接删除,注意不要忘了同时也删除掉该超级结点的一个分支。 ++ 如果目标关键码没有在叶结点中,类似BST的删除,还是需要先找到该关键码的直接后继。只是这里不同的是,只要该结点不是叶结点,那么该结点一定拥有右孩子(多路平衡搜索树),因此只需要从该结点的右孩子不断向左,即可找到该关键码的后继,从而转而删除它的后继关键码。 + +具体的删除代码如下: + +```cpp +template +bool BTree::remove(T const &key){ + BTNodePosi(T) x = search(key); + if (!x) return false; + //else + int pos = x->keys.search(key); + if(x->children[0]){ //if x is not a leaf node, find x's succ + BTNodePosi(T) succ = x->children[pos + 1]; + while (succ->children[0]) succ = succ->children[0]; + x->keys[pos] = succ->keys[0]; + x = succ; + pos = 0; + } + //now x is a leaf node + x->keys.pop(pos); + x->children.pop_back(); + + --__size; + solveUnderflow(x); + return true; +} +``` diff --git a/thu_dsa/chp8/RB-tree.md b/thu_dsa/chp8/RB-tree.md new file mode 100644 index 0000000..042e2d2 --- /dev/null +++ b/thu_dsa/chp8/RB-tree.md @@ -0,0 +1,28 @@ +Conclusion on Red-Black Tree +=========================== + +## 红黑树的概念 + +> 为什么需要红黑树? + +与传统BBST相比,一次调整操作只进行$O(1)$的拓扑结构调整,可作为持久数据结构(persistent structure)。 + +> 红黑树的基本概念。 + +> 红黑树与4阶B树 + +提升变换 + +> 为什么红黑树是平衡树? + +## 红黑树的操作 + +> 插入算法 + +与B树的对比,通过B树来理解。至多一次重构操作,可能有$O(logn)$次重新染色 + +> 删除算法 + +相当复杂,分为四种情况。还是至多$O(1)$次重构操作,但是至多有$O(logn)$次重新染色。 + +理解方法还是按照B树来理解 diff --git a/thu_dsa/chp8/images/Btree_and_BST.png b/thu_dsa/chp8/images/Btree_and_BST.png new file mode 100644 index 0000000000000000000000000000000000000000..79796324cd3e6eefdf544691c7fae43285b5d00e GIT binary patch literal 71486 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 C@ZU%P literal 0 HcmV?d00001 diff --git a/thu_dsa/chp8/images/Btree_merge.png b/thu_dsa/chp8/images/Btree_merge.png new file mode 100644 index 0000000000000000000000000000000000000000..89cea8cdb999c9a629d8afbd22612c48ce3b5d28 GIT binary patch literal 24039 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 literal 0 HcmV?d00001 diff --git a/thu_dsa/chp8/images/Btree_rotation.png b/thu_dsa/chp8/images/Btree_rotation.png new file mode 100644 index 0000000000000000000000000000000000000000..b17486aa350eee7e1f6e04f502cd07311dbcd9a5 GIT binary patch literal 26721 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

m`?f4jog+<2Z4yYbyplJ*QFa{A?IbaaUO!RoV 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 literal 0 HcmV?d00001 diff --git a/thu_dsa/chp8/images/Btree_split.png b/thu_dsa/chp8/images/Btree_split.png new file mode 100644 index 0000000000000000000000000000000000000000..007f09db5ef1eeb960828213692b64d0f03d6ca9 GIT binary patch literal 33458 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 NWi?&ZQWcxX{{b!S9`XPH literal 0 HcmV?d00001