【问题标题】:Bijective hash function [duplicate]双射哈希函数
【发布时间】:2016-12-30 02:14:51
【问题描述】:

返回hash的函数可以针对不同的id值返回相同的索引:

hash(id) = id%ARRAY_SIZE

有没有办法让哈希函数成为双射的。我想到了:

hash(id) = id

但我没有连续的 id 值。有人有更好的解决方案吗?

【问题讨论】:

    标签: c hashtable hash-function


    【解决方案1】:

    哈希函数是可用于将任意大小的数据映射到固定大小的数据的任何函数。

    Hash function on Wikipedia

    所以根据定义,哈希函数不能是双射的,因为它的域是无限的,而它的范围是有限的。

    【讨论】:

    • 虽然正确,但对于任何固定的有限输入集,确实存在完美哈希。
    猜你喜欢
    • 1970-01-01
    • 2016-06-20
    • 1970-01-01
    • 2021-02-13
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多