【问题标题】:How do I write a hash function with a unique (string, integer) pair as a key?如何以唯一的(字符串,整数)对作为键编写散列函数?
【发布时间】:2014-11-18 23:34:10
【问题描述】:

具体来说,我正在存储 URL 和端口并将它们存储在一个表中。一对将是 ("www.beej.us", 80) 或 ("8.8.8.8", 22)。将整数附加到字符串上并在最终字符串上散列是否有意义?

感谢您的帮助!

【问题讨论】:

  • 这是一个编程哲学问题,而不是一个“需要帮助编程”的问题。
  • 问这个问题的最佳地点在哪里?

标签: c hash hashtable


【解决方案1】:

为了更好的性能和最小化冲突,你最好写一个哈希函数如下:

hash(host) * prime_greater_than_65536 + port

【讨论】:

    猜你喜欢
    • 2013-05-07
    • 1970-01-01
    • 2011-10-06
    • 2018-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多