【第七章】查找

[!abstract] 【考纲内容】

  • (一)查找的基本概念
  • (二)顺序查找算法
  • (三)分块查找算法
  • (四)折半查找算法
  • (五)树形查找算法
  • 二叉搜索树;平衡二叉树;红黑树
  • (六)B 树及其基本操作、B+树的基本概念
  • (七)散列(Hash)表
  • (八)查找算法的分析及应用

[!example] 【知识框架】

\[\text{查找}\begin{cases} 基本概念:静态查找、动态查找 \\ 线性结构 \begin{cases} 顺序查找 \\ 折半查找 \\ 分块查找 \end{cases} \\ 树形结构 \begin{cases} 二叉排序树 \\ 二叉平衡树 \\ 红黑树 \\ B树、B+树 \\ \end{cases} \\ 散列结构——散列表\begin{cases} 性能分析 \\ 冲突处理 \\ \end{cases} \\ 效率指标——平均查找长度\begin{cases} 查找成功 \\ 查找失败 \\ \end{cases} \end{cases} \]

[!tip] 【复习提示】
本章是考研命题的重点🔥。

  • 对于折半查找,应掌握折半查找的过程构造判定树、分析平均查找长度等。
  • 对于二叉排序树二叉平衡树红黑树,要了解它们的概念、性质和相关操作等。
  • B 树B+树是本章的难点
    • 对于 B 树,考研大纲要求掌握插入删除查找的操作过程;
    • 对于 B+树,仅要求了解其基本概念和性质
  • 对于散列查找,应掌握散列表的构造冲突处理方法(各种方法的处理过程)、查找成功和查找失败的平均查找长度、散列查找的特征和性能分析

7.1 查找的基本概念

  1. 查找
    • 在数据集合中寻找满足某种条件的数据元素的过程称为查找。查找的结果一般分为两种:一是查找成功,即在数据集合中找到了满足条件的数据元素;二是查找失败
  2. 查找表
    • 用于查找的数据集合称为查找表,它由同一类型的数据元素(或记录)组成。对查找表的常见操作有:①查询符合条件的数据元素;②插入、删除数据元素。
  3. 静态查找表
    • 若一个查找表的操作只涉及查找操作,则无须动态地修改查找表,此类查找表称为静态查找表。与此对应,需要动态地插入或删除的查找表称为动态查找表
    • 适合静态查找表的查找方法有顺序查找折半查找散列查找等;
    • 适合动态查找表的查找方法有二叉排序树的查找散列查找等。
  4. 关键字
    • 数据元素中唯一标识该元素的某个数据项的值,使用基于关键字的查找,查找结果应该是唯一的。例如,在由一个学生元素构成的数据集合中,学生元素中“学号”这一数据项的值唯一地标识一名学生。
  5. 平均查找长度
    • 在查找过程中,一次查找的长度是指需要比较的关键字的次数,而平均查找长度则是所有查找过程中进行关键字的比较次数的平均值,其数学定义为
      • \(ASL=\sum_{i=1}^{n}P_{i}C_{i}\)
      • 式中,\(n\) 是查找表的长度;
      • \(P_{i}\) 是查找第 \(i\) 个数据元素的概率,一般认为每个数据元素的查找概率相等,即 \(P_{i}=1/n\)
      • \(C_{i}\) 是找到第 \(i\) 个数据元素所需进行的比较次数。
      • 平均查找长度是衡量查找算法效率的最主要的指标。

查找表并非一种新的数据结构,他是一种对于你要查找操作的数据结构的统称。

7.2 顺序查找和折半查找

posted @ 2026-05-16 00:52  syn_tax  阅读(6)  评论(0)    收藏  举报