查找

不同类型的数据表使用不同的数据结构进行存储,在增删改查时有不同的效率。

数据存储好后,便不再改的数据,称之为静态数据表

若需要再改,则为动态数据表

查找算法的指标:查找长度,平均查找长度ASL

ASL的数量级反应了查找算法的时间复杂度。

顺序查找

折半查找

分块查找

B树

结合了平衡二叉树,分块、折半等思想,并且b树为绝对平衡,没有相差1的说法

B树的插入、删除

插入时由下而上:上一级的节点,是由下一级的节点中关键字数量满了脱胎出来的。

删除时保证下面的核心要求,来改变结点中关键字的位置。

B+树

应用了分块查找的算法。

B树与B+树的区别

1

2为了树不要太高(太空)

3

4

散列查找

存储的数据(关键字)与存储地址直接相关。

通过某种映射关系将数据(x)映射到存储地址(y):y=f(x)

冲突

链地址法:冲突后,紧接着在相同的位置以链表的形式插入。

开放地址法:各个地址中存储的将是实实在在的数据,而不是链地址法中有可能存在的链表。如果经过哈希函数后计算出的位置已经有数据了,再通过某种算法(线性探测法)将计算出的位置向其他空位挪移。

Copyright © qgao 2021-* all right reserved,powered by Gitbook该文件修订时间: 2022-06-06 16:56:43

results matching ""

    No results matching ""