哈希中的主要和辅助群集是什么?

时间:2015-01-02 12:32:37

标签: algorithm data-structures hash quadratic-probing linear-probing

在我正在阅读的教科书中找到哈希冲突管理主题中主要和辅助群集之间的区别,过去几天我很困惑。

2 个答案:

答案 0 :(得分:53)

  1. 主要群集是冲突解决方案(如线性探测)创建长时间填充插槽的趋势 near 键的哈希位置。
  2. 如果主哈希索引为x,则后续探测转到x+1x+2x+3等等,这会导致主群集。
  3. 主群集形成后,群集越大,即 它变得越快。它会降低性能。
  4. enter image description here

    1. 辅助群集是一种冲突解决方案,例如二次探测,可以创建长时间填充的广告位 离开从键的哈希位置。
    2. 如果主哈希索引为x,则探测转到x+1x+4x+9x+16, x+25等等,这会导致辅助群集。
    3. 辅助群集在性能损失方面不如主群集严重,并且是一个 试图通过使用二次探测来保持聚类的形成。 这个想法是探索更广泛分离的细胞,而不是那些细胞 邻近主哈希站点。
    4. enter image description here

答案 1 :(得分:9)

主群集意味着如果存在群集并且新记录的初始位置将落在群集中的任何位置,则群集大小会增加。线性探测会导致这种类型的聚类。

辅助群集不太严重,如果两个记录的初始位置相同,则只有相同的碰撞链。例如,二次探测会导致这种类型的聚类。