zoukankan      html  css  js  c++  java
  • 处理hash冲突

    “处理冲突” 的实际含义是: 为产生冲突的地址寻找下一个哈希地址。

    1. 开放定址法

    2. 链地址法

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------

    1. 开放定址法

    为产生冲突的地址 H(key) 求得一个地址序列: H0, H1, H2, …, Hs 1≤ s≤m-1 其中:

    H0 = H(key)

    Hi = ( H(key) + di ) MOD m

    i=1, 2, …, s

    对增量 di 有三种取法:

    1) 线性探测再散列 di = c* i 最简单的情况 c=1

    2) 平方探测再散列 di = 12, -12, 22, -22, …,

    3) 随机探测再散列 di 是一组伪随机数列 或者 di=i×H2(key) (又称双散列函数探测)

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------

    2. 链地址法

    将所有哈希地址相同的记录 都链接在同一链表中

    例如:同前例的关键字,哈希函数为 H(key)=key MOD 7

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    SQL Server Alwayson架构下 服务器 各虚拟IP漂移监控告警的功能实现 -2(虚拟IP视角)
    Android LitePal
    Android SQLite
    汇编语言知识点总结
    三层架构
    将博客搬至CSDN
    回溯(二)
    Android持久化技术
    Android广播时间——实现强制下线功能
    Android广播机制(2)
  • 原文地址:https://www.cnblogs.com/hellochennan/p/6702063.html
Copyright © 2011-2022 走看看