如何在不使用库的情况下在C中实现哈希表?我已经看到很多答案,他们使用一些库在C中实现了Hashtables。我想知道它背后的实际概念以及如何在C中编写Hash Map的原始实现。
答案 0 :(得分:2)
然后最好的事情是,获得一本关于算法的书(如http://en.wikipedia.org/wiki/Introduction_to_Algorithms)阅读维基百科文章,特别是参考文献(http://en.wikipedia.org/wiki/Hash_table)并尝试用“原始”语言实现。
此外,如果你谷歌演讲幻灯片,你会发现许多算法解释如何通过少量操作(只需使用数组和简单算术)完成散列。
您可能还希望通过一些强制碰撞来测试您的实现,以便了解这一点。
最后一个警告:不要在生产中使用你的哈希算法,有原因,为什么有这样的库!