Skip to content

查找

image.png

静态查找表

顺序查找

线性表查询,查找效率(n+1)/2

image.png

折半查找

image.png

二分查找,仅适用于有序的线性表。

折半查找比较次数最多为 [log2n]+1 次。n=2^x,比如8个元素最多需要3次,对应 8=2^3。

所以时间复杂度为 O(log2n) 。

分块查找

特点是块内无序,但是块间有序

  • 先在索引表确定目标所在块。
  • 在块内顺序查找。

image.png

比如索引表或者索引文件。

哈希表

image.png

按照哈希存储元素到哈希表里。

哈希冲突解决方式

按照值的哈希值存储会出现哈希冲突的问题,可以通过以下方法解决:

  1. 链地址法

    hashmap采用该方法。

  2. 开放地址法

    按顺序往后存储元素。

  3. 重复哈希

    重复进行哈希,直到能存成功。

  4. 建立一个公共溢出区。

    将哈希表分为基本表和溢出表两部分,凡是和基本表发生冲突的元素,一律填入溢出表。