Makerlife 的小站

Makerlife 的小站

马上订阅 Makerlife 的小站 RSS 更新: https://blog.makerlife.top/atom.xml

字符串算法全家桶 学习笔记

2023年7月10日 23:00

由字符串全家桶入门到字符串全家桶直僵僵地镶嵌在门框里。

哈希

Hash 翻译为散列表或杂凑函数,音译为哈希,也称 Hash 表。

散列表一般由 Hash 函数和链表结构共同实现完成。

——我不知道来源。

哈希目的是把一些数据范围很大的数据(整数)或者描述保存比较复杂(字符串)利用 Hash 函数把信息映射到一个范围比较小容易维护的范围内(有点类似离散化),由于映射后的值域范围变小,有可能造成不同的原有不同信息映射为相同的值,造成冲突(映射中的多对一,一对一最理想但是有时候比较困难)。当然没有冲突是最理想的,但是关键在于 Hash 函数的选择,我们的目标是尽量减少冲突或没有冲突。

——我也不知道来源。

引入

一个简单的例子,我们要查找一个集合内的所有元素,朴素的做法是一个一个遍历,而我们通过按照每个数的个位数字分类保存,再使用链表查找,效率会更高。

哈希表引入

此时,按照个位数分类保存就是一个哈希函数

剩余内容已隐藏

查看完整文章以阅读更多