【问题标题】:What is primary and secondary clustering in hash?什么是哈希中的一级和二级聚类?
【发布时间】:2015-02-28 19:01:01
【问题描述】:

我最近几天在我正在阅读的教科书中发现哈希冲突管理主题中主集群和辅助集群之间的区别感到困惑。

【问题讨论】:

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


    【解决方案1】:

    初级聚类

    1. 主要聚类是一种冲突解决方案(如线性探测)的趋势,以创建长时间运行的填充槽 接近键的哈希位置。
    2. 如果主哈希索引是x,后续探测到x+1x+2x+3 等等,这会导致主聚类。
    3. 一旦主集群形成,集群越大, 它生长得更快。而且它会降低性能。


    二次聚类

    1. 二次聚类是一种冲突解决方案的趋势,例如二次探测,以创建长时间运行的填充槽 远离键的哈希位置。
    2. 如果主哈希索引是x,则探测到x+1x+4x+9x+16,x+25 等等,这会导致二级聚类。
    3. 就性能影响而言,辅助集群不如主集群严重,并且是一种 尝试通过使用二次探测来防止集群形成。 这个想法是探测更广泛分离的细胞,而不是那些 与主哈希站点相邻。

    【讨论】:

    • 如果我还有十个投票权,我会这样做。
    • @snr 谢谢,很高兴你发现它有用。
    【解决方案2】:

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

    二次聚类不那么严重,如果它们的初始位置相同,两条记录只有相同的碰撞链。例如,二次探测导致这种类型的聚类。

    【讨论】:

    • 我想澄清一下,(以防答案的语言产生疑问)。二次聚类发生在线性探测和二次探测中,即线性探测也受到二次聚类的影响。
    猜你喜欢
    • 2010-09-25
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多