分类目录归档:算法

hash 表和布隆过滤器


hash 的应用

散列表

根据key计算key在表中的位置的数据结构;是key和其所在存储地址的映射关系; 注意:散列表的节点中 kv是存储在一起的

struct node {
    void *key;
    void *val;
    struct node *next;
}

与平衡二叉树相比

通过比较,结构有序,提升搜索效率
key与节点存储位置的映射关系

组成

hash函数
    映射函数Hash(key)=addr,hash 函数可能会把两个或两个以上的不同key映射到同一地址,这种情况称之为冲突(或者hash碰撞);
数组

选择函数

  1. 计算速度快
  2. 强随机分布(等

Read more