B树和B+树、排序

158 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情

最多:每个节点子树有三个,关键字2个。 最少:每个节点子树有两个,关键字1个。

image.png

image.png

image.png 求最大,向上取余。根节点最少可以是两个子树,一个关键字。

B+树

B+树有两个头指针:一个指向根节点,另一个指向关键字最小的叶节点。因此,可以对B+树进行两种查找运算。 一种是从最小关键字开始的顺序查找,另一种是从根节点开始的多路查找。

image.png

KMP算法

image.png

Nextval第一位若相等,则为0.

例1:

image.png

例2:

BF算法括号后面的(i,j):i代表主串中匹配失败的序号数,j代表子串里匹配失败的序号数。

image.png

KMP算法,当第一次匹配到j等于6时失败,查找子串序号为6的nextval作为子串序号来跟主串重新进行匹配,依次类推,直到找到为止。

排序

image.png

插入排序

一个一个前移,每个都依次向前面的比较。

image.png

希尔排序

增量之间的插入排序(常用增量:1/3/5)

image.png

冒泡排序

相邻两个数一一比较。

image.png

快速排序

前后i、j作比较。当没有对某个数进行移动时,继续移动此数的下标。 当从小到大(从大到小)每次排序结束后,其左子序列都比该数小(大),右子序列都比该数大(小)。

image.png

选择排序

首先在序列中找到最小元素,依次放到序列的前端。(升序降序趟数不一样)

image.png

堆排序

①建堆
②m/2
③建大根堆
④与最后一个换

image.png

归并排序

分组再结合

image.png

基数排序

个十百。。。

image.png