美文网首页
算法复习-查找(3)-分块查找法

算法复习-查找(3)-分块查找法

作者: 桔子满地 | 来源:发表于2018-06-22 11:18 被阅读0次

分块查找:

分块查找又称为索引顺序查找,其数据结构可以简单地描述为:分块查找把线性表分成若干块,每一块中的元素存储顺序是任意的,但是块与块之间必须按照关键字大小有序排列,即前一块中的最大关键字要小于后一块的最小关键字。
对顺序表进行分块查找需要额外建立一个索引表,表中的每一项对应线性表中的一块.

//索引表定义
typedef struct {
  int key;  //对应块的最大关键字
  int low, high; //指向本块的第一个元素和最后一个元素.
}

显然索引表的所有索引项都是按照其关键字递增排序的。

算法描述:

分块查找分为两步进行:首先确定待查找的元素属于哪一块,然后在块内精准查找该元素。
由于索引表是递增有序的,因此第一步采用二分查找。块内元素一般个数较少,因此第二步采用顺序查找即可。

ASL分析:

分块查找实际上进行两次查找,整个算法的ASL是两次查找的ASL之和,即二分查找ASL+顺序查找ASL

相关文章

  • 算法复习-查找(3)-分块查找法

    分块查找: 分块查找又称为索引顺序查找,其数据结构可以简单地描述为:分块查找把线性表分成若干块,每一块中的元素存储...

  • 查找算法

    三种查找算法:顺序查找,二分法查找(折半查找),分块查找,散列表

  • 分块查找算法

    分块查找又称索引顺序查找,它是顺序查找的一种改进方法。 算法流程: 先选取各块中的最大关键字构成一个索引表; 查找...

  • 算法(查找)

    顺序查找 Java代码 二分法查找 3.分块查找a. 首先将查找表分成若干块,在每一块中数据元素的存放是任意的,但...

  • 排序算法

    算法与数据结构基础 查找算法: 二分查找法: 简介:二分查找法又被称为折半查找法,用于预排序的查找问题 过程: 如...

  • 算法复习-查找(1)-顺序查找法

    顺序查找法: 顺序查找法是一种最简单的查找方法。基本思路:从表的一端开始,顺序扫描线性表,依次将扫描到的关键字和给...

  • 算法复习-查找(2)-折半查找法

    折半查找法 折半查找要求线性表是有序的,即表中记录按关键字排序。 代码: ASL分析: 折半查找的过程可以用二叉树...

  • (转)三大查找

    三大查找方法 顺序查找,二分法查找(折半查找),分块查找 顺序查找的基本思想: 从表的一端开始,顺序扫描表,依次将...

  • 数据结构学习-三大查找八大排序

    三大查找方法 顺序查找,二分法查找(折半查找),分块查找 顺序查找的基本思想: 从表的一端开始,顺序扫描表,依次将...

  • 数据结构学习-三大查找八大排序

    三大查找方法 顺序查找,二分法查找(折半查找),分块查找 顺序查找的基本思想: 从表的一端开始,顺序扫描表,依次将...

网友评论

      本文标题:算法复习-查找(3)-分块查找法

      本文链接:https://www.haomeiwen.com/subject/zcxkyftx.html