王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)

本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对数据结构知识点的理解的总结。希望对新一届的计算机考研人提供帮助!!!
 
关于对 查找 章节知识点总结的十分全面,涵括了《王道数据结构》课程里的全部要点本人来来回回过了三遍视频),其中还陆陆续续补充了许多内容,所以读者可以相信本篇博客对于考研数据结构“查找”章节知识点的正确性与全面性
但如果还有自主命题的学校,还需额外读者自行再观看对应学校的自主命题材料
 
数据结构与算法 笔记导航

  1. 第一章 绪论(无)
  2. 第二章 线性表
  3. 第三章 栈和队列
  4. 第四章 串-KMP(看毛片算法)
  5. 第五章 树和二叉树
  6. 第六章 图
  7. 第七章 查找(B树、散列表) ⇦当前位置
  8. 第八章 排序 (内部排序:八大排序动图演示与实现 + 外部排序)
  9. 数据结构与算法 复试精简笔记 (未完成)
  10. 408 全套初复试笔记汇总 传送门 ‍‍‍
     

如果本篇文章对大家起到帮助的话,跪求各位帅哥美女们,求赞 、求收藏 、求关注!
你必考上研究生!我说的,耶稣来了也拦不住!

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第1张图片

 

精准控时:
如果不实际操作代码,只是粗略过一下知识点,需花费 50 分钟左右过一遍
这个50分钟是我在后期冲刺复习多次尝试的时间,可以让我很好的在后期时间紧张的阶段下,合理分配复习时间;
但是刚开始看这份博客的读者也许会因为知识点陌生、笔记结构不太了解,花费许多时间,这都是正常的。
重点!!!学习一定要多总结多复习!重复、重复、再重复!!!

食用说明书:
第一遍学习王道课程时,我的笔记只有标题和截图,后来复习发现看只看图片,并不能很快的了解截图中要重点表达的知识点。
所以再第二遍复习中,我给每一张截图中标记了重点,以及每张图片上方总结了该图片对应的知识点以及自己的思考
最后第三遍,查漏补缺。
所以 ,我把目录放在博客的前面,就是希望读者可以结合目录结构去更好的学习知识点,之后冲刺复习阶段脑海里可以浮现出该知识结构,做到对每一个知识点熟稔于心!
请读者放心!目录展示的知识点结构是十分合理的,可以放心使用该结构去记忆学习!
注意(⊙o⊙)!,每张图片上面的文字,都是该图对应的知识点总结,方便读者更快理解图片内容。

 


第7章 查找

文章目录

  • 第7章 查找
    • 7.1 查找的基本概念
      • 1、查找
      • 2、查找表
      • 3、关键字
      • 4、静态查找表
      • 5、平均查找长度
    • 7.1 查找的基本概念小结
    • 7.2 顺序查找和折半查找
      • 7.2.1 顺序查找
        • 1、算法思想
        • 2、具体实现
        • 3、优化
      • 7.2.1 顺序查找小结
      • 7.2.2 折半查找
        • 1、算法思想
        • 2、具体实现
        • 3、查找效率分析
        • 4、折半查找判定树
        • 5、拓展思考
      • 7.2.2 折半查找小结
      • 7.2.3 分块查找
        • 1、算法思想
        • 2、查找效率分析
        • 3、拓展思考
      • 7.2.3 分块查找小结
    • 7.3 B树和B+树
      • 7.3.1 B树及其基本操作
        • 1、B树的高度
      • 7.3.1 B树的基本概念小结
        • 2、B树的插入
        • 3、B树的删除
      • 7.3.1 B树的基本操作小结
      • 7.3.2 B+树的基本概念
        • 1、B+树满足的条件
        • 2、B+树的查找
        • 3、B+树 VS B树
      • 7.3.2 B+树的小结
    • 7.4 散列表
      • 7.4.1 散列表的基本概念
        • 1、散列查找
      • 7.4.2 散列函数
        • 1、除留余数法
        • 2、直接定址法
        • 3、数字分析法
        • 4、平方取中法
      • 7.4.3 处理冲突的方法
        • 一、开放定址法
          • 1、线性探测法
          • 2、平方探测法
          • 3、伪随机序列法
        • 二、再散列法
      • 7.4.3 处理冲突的方法小结
      • 拉链法的小优化

7.1 查找的基本概念

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第2张图片

1、查找

2、查找表

3、关键字

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第3张图片

4、静态查找表

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第4张图片

5、平均查找长度

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第5张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第6张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第7张图片

7.1 查找的基本概念小结

在这里插入图片描述


7.2 顺序查找和折半查找

7.2.1 顺序查找

1、算法思想

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第8张图片

2、具体实现

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第9张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第10张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第11张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第12张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第13张图片

3、优化

在这里插入图片描述

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第14张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第15张图片

7.2.1 顺序查找小结

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第16张图片


7.2.2 折半查找

1、算法思想

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第17张图片

2、具体实现

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第18张图片

3、查找效率分析

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第19张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第20张图片

4、折半查找判定树

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第21张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第22张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第23张图片

  • 右子树 - 左子树 = 0/1

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第24张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第25张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第26张图片

5、拓展思考

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第27张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第28张图片

7.2.2 折半查找小结

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第29张图片


7.2.3 分块查找

1、算法思想

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第30张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第31张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第32张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第33张图片

2、查找效率分析

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第34张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第35张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第36张图片

3、拓展思考

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第37张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第38张图片

7.2.3 分块查找小结

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第39张图片


7.3 B树和B+树

  • 不怎么考察代码题

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第40张图片

  • 将2叉查找树升级到5叉查找树
  • 注意每个区间的范围
  • 了解查找失败时,指针会落在哪里去?
    • 例如:下图里表明的“失败结点”,范围在(15,22)的结点都会落到那里

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第41张图片

  • 每个结点内关键字太少,导致树变高,查找效率低下
    • 例如下图,5叉查找树退化成2叉查找树
  • 所以为了保证查找的效率,就会规定每个结点内至少需要含有的关键字数量

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第42张图片

  • 根结点不要求至少([m/2]向上取整)个分叉

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第43张图片

  • “不平衡”也不利于查找效率
  • 但是参考平衡二叉树的规定,对于m叉查找树又太麻烦了,所以直接规定左、右子树高度要相同

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第44张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第45张图片

7.3.1 B树及其基本操作

  • 上面逼逼一大堆,关于B树比较重要的规定就是:
    • 1、各子树要平衡(绝对平衡)
    • 2、各结点的分叉数有规定
  • 注意!!!下面的终端结点和叶子结点,别混淆了
  • m阶B树,m个分叉,m-1个关键字

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第46张图片

  • k是关键字,p是指针

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第47张图片

  • 3个B树关键的性质

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第48张图片

1、B树的高度

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第49张图片

  • n+1个叶子结点:n个关键字剋划分出n+1个区域

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第50张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第51张图片

7.3.1 B树的基本概念小结

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第52张图片

2、B树的插入
  • 插入80,导致结点关键字数量超过上限

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第53张图片

  • 新结点一定是插入到最底层

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第54张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第55张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第56张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第57张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第58张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第59张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第60张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第61张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第62张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第63张图片

  • 根结点可以只有一个关键字

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第64张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第65张图片

3、B树的删除
  • 终端结点直接删除(但是也要注意结点里关键字的数量)

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第66张图片

  • 删除非终端节点,找直接前驱或直接后继

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第67张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第68张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第69张图片

  • 删除终端节点里的关键字,导致结点关键字数量不足
    • 1、兄弟够借

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第70张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第71张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第72张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第73张图片

  • 删除终端节点里的关键字,导致结点关键字数量不足
    • 2、兄弟不够借(合并)

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第74张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第75张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第76张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第77张图片

7.3.1 B树的基本操作小结

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第78张图片


7.3.2 B+树的基本概念

考研中B+树不会考的很深,都是考一些基本概念的问题。

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第79张图片

1、B+树满足的条件
  • B树:m-1个关键字对应m个分支,m个子树
  • B+树:m个关键字,对应m个分支,m个子树
  • B+树里,查找信息并不会停留在分支节点上,会一直查找到叶子结点
    • 例如查找9,最后找的是绿色的9,而不是蓝色的9

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第80张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第81张图片

2、B+树的查找

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第82张图片

  • B+树和B树关于查找的区别
  • 看下B+树,B树两个图,B+树关键字会重复,B树不会重复

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第83张图片

  • B+树还可以通过p开始顺序查找

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第84张图片

3、B+树 VS B树

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第85张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第86张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第87张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第88张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第89张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第90张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第91张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第92张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第93张图片

7.3.2 B+树的小结

  • B树只能进行随机查找,而B+树可以进行随机查找和顺序查找

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第94张图片


7.4 散列表

7.4.1 散列表的基本概念

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第95张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第96张图片

1、散列查找

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第97张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第98张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第99张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第100张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第101张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第102张图片

7.4.2 散列函数

1、除留余数法
  • 选最大质数 —— 为了让不同的关键字冲突尽可能少

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第103张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第104张图片

2、直接定址法

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第105张图片

3、数字分析法

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第106张图片

4、平方取中法

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第107张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第108张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第109张图片


7.4.3 处理冲突的方法

  • 之前使用的是拉链法
一、开放定址法

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第110张图片

1、线性探测法

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第111张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第112张图片

  • 哈希函数取模,和冲突函数取模,选的取模值不一定相同,看看下图标识
    • 一个选择13,一个选择16

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第113张图片

  • 开发定址法:即可能和同义词发生冲突,也可能和非同义词发生冲突。

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第114张图片

  • 注意,此处对于空位置的判断也算作一次比较,和上一小节的拉链法不算空位置有区别

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第115张图片

  • 21%13=8,所以下图从84开始找,一旦遇到空(例如,10那个位置),就表明不需要在找下去了

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第116张图片

  • 上图里我们说到:越早遇到空位置,就可以越早确认查找失败。可是也有不适应的情况!
    • 下图中假设删除元素1,使得2位置变空。
    • 此时若要查找27元素,27%13=1,从1位置(14)开始找,可是此时2位置为空,就无法查找到4位置了元素27了。
  • 针对上诉情况,规定在删除一个元素时不能简单删除元素就完事了,还需要做个删除标记,让查找时可以此处是因删除而空,而不是没有初始元素才空的。还需要接着往后找。

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第117张图片

  • 下面的看似表很满,实际真实数据并不多,也是开放定址法的一个弊端。

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第118张图片

  • 查找成功的效率分析

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第119张图片

  • 查找失败的效率分析
    • 只有位置为空,才比较1次,不然就得一直遍历到13这个位置,才能确认失败。

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第120张图片

  • 为什么查找效率低:同义词、非同义词聚集堆积
  • 聚集是因选取不当的处理冲突的方法造成的

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第121张图片

2、平方探测法
  • d是针对初始位置操作的,例如:元素32的位置就是6-1,而不是上一个位置7-1。

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第122张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第123张图片

  • 平法探测法对于散列表的长度有要求:4*j+3

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第124张图片

3、伪随机序列法

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第125张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第126张图片

二、再散列法

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第127张图片

7.4.3 处理冲突的方法小结

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第128张图片


拉链法的小优化

  • 保持冲突的同义词的链表,进行有序链接

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第129张图片

王道数据结构课代表 - 考研数据结构 第七章 查找(B树、散列表) 究极精华总结笔记(C版本)_第130张图片


考研人加油!!!

你可能感兴趣的:(#,408,数据结构,数据结构,b树,散列表,折半查找,分块查找)