【发布时间】:2013-08-20 08:49:28
【问题描述】:
如何在不使用库的情况下在 C 中实现哈希表?我已经看到很多答案,他们使用一些库在 C 中实现了 Hashtables。我想知道它背后的实际概念以及如何在 C 中编写 Hash Map 的原始实现。
【问题讨论】:
如何在不使用库的情况下在 C 中实现哈希表?我已经看到很多答案,他们使用一些库在 C 中实现了 Hashtables。我想知道它背后的实际概念以及如何在 C 中编写 Hash Map 的原始实现。
【问题讨论】:
那么最好的办法可能是,获得一本关于算法的书(例如 http://en.wikipedia.org/wiki/Introduction_to_Algorithms)阅读维基百科文章,尤其是参考文献(http://en.wikipedia.org/wiki/Hash_table)并尝试使用“原始”语言来实现这一点。
此外,如果您在 Google 上搜索讲座幻灯片,您会发现许多算法解释如何通过少量操作(仅使用数组和简单算术)完成散列。
您可能还想通过一些强制碰撞来测试您的实现,以了解这一点。
最后是一个警告:不要在生产中使用您的哈希算法,这是有原因的,为什么有库可以做到这一点!
【讨论】: