【数据结构】静态查找之分块查找

前端之家收集整理的这篇文章主要介绍了【数据结构】静态查找之分块查找前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
【分块查找】
分块查找,也称索引顺序查找,是一种折半查找和顺序查找的改进方法。@H_301_4@
【思想】@H_301_4@
@H_301_4@ ①@H_301_4@ 把线性表分成若干块,每块包含若干个元素@H_301_4@
@H_301_4@ ②块内无序,块间有序。@H_301_4@
@H_301_4@
@H_301_4@ ③@H_301_4@ 建立一个索引表,把每块中的最大关键字值和每块的第一个元素在表中的位置和最后一个元素在表中的位置存放在索引项中。@H_301_4@
@H_301_4@ ④@H_301_4@ 先确定待查数据元素所在的块,然后再块内顺序查找@H_301_4@
如图:


【ASL】@H_301_4@
@H_301_4@ @H_301_4@ @H_301_4@ ASLbs=(n/s+s)/2 +1,(其中s是每块的元素个数,n为表长)@H_301_4@ @H_301_4@
【时间复杂度】@H_301_4@
时间复杂度为O(n@H_301_4@ )~O(log@H_301_4@ 2 n)@H_301_4@
【优缺点】@H_301_4@
(1)优点:适用范围大,顺序存储和连式存储都适用;查找效率高@H_301_4@
@H_301_4@
(2)缺点:需要将待查表分块排序,并且要增加一个存储空间用来存储索引表@H_301_4@
三大静态查找: 静态查找之顺序查找
【小结】
原文链接:https://www.f2er.com/datastructure/382594.html

猜你在找的数据结构相关文章