关于散列(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 陕西

相关推荐

10-24 00:54
已编辑
门头沟学院 Java
牛客20646354...:这连小厂都找不到就离谱,只能说可能你根本没投什么小厂。说实话现在都要11月了,没什么岗位了。其实最好是在9月找,那时候暑假工刚走,岗位多的是,现在都占满了岗位了,秋招的秋招,顶替暑假工的也基本上都顶替了。 只能多投了,简历其实都差不多,你这都不是外卖+点评去找实习了,已经比好多人优秀了。实在找不到,可以降低一些标准的,能投到自研项目的小厂说实话可能比你去中大厂能学到更多东西。因为中大厂最多给你看一点点模块功能,小厂基本上全部代码甚至几个项目的代码都能拿到。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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