关于散列(hash)及散列函数

散列(hash哈希):
简单来说, 散列函数将输入映射到数字,给定同样的输入总是得到同样的结果,不需要查找(平均情况下性能:常量时间);关键在于散列函数。
(之前误以为就是把数组下标和值及其个数等对应,然后要得到某个值的时候,去for循环查数组,总之创建添加大概是这样理解,但是 关键是查找只需要常量时间,这是散列函数来达成的,而不是通过循环遍历来查找的)
LeetCode两数之和就可以用hash实现  https://leetcode.cn/leetbook/read/top-interview-questions-easy/x2jrse/ 详见官方题解。
具体参见算法图解第5章及11章提到的散列函数, 实际使用编程语言提供的散列表实现就可以了(认为其性能良好即可),不用自己实现!
下图为算法图解5.5小结部分:

哈希函数的一些介绍:如:SHA( secure hash algorithm)等
https://blog.csdn.net/chybin500/article/details/103913583
全部评论
编译例如:把uthash.h和main.c放在同一目录下,main.c中添加#include "uthash.h",命令行输入gcc main.c -o main即可。 下载的文件中tests目录下有使用示例。
点赞 回复 分享
发布于 2022-10-10 16:43 陕西
C语言可使用uthash的散列表实现,可参考:https://blog.csdn.net/a123441/article/details/89045293 ;使用介绍及下载地址:https://troydhanson.github.io/uthash/
点赞 回复 分享
发布于 2022-10-10 15:23 陕西

相关推荐

06-23 11:43
门头沟学院 Java
allin校招的烤冷...:我靠,今天中午我也是这个hr隔一个星期发消息给我。问的问题还是一模一样的😅
点赞 评论 收藏
分享
求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务