哈希表是一种使用哈希函数组织数据,以支持快速插入和搜索的数据结构。
有两种不同类型的哈希表:哈希集合和哈希映射。
哈希集合是Set数据结构的实现之一,用于存储非重复值。
哈希映射是Map数据结构的实现之一,用于存储(key, value)键值对。
哈希表的关键思想是使用哈希函数将键映射到存储桶
。
1.当我们插入一个新的键时,哈希函数将决定该键应该分配到哪个桶中,并将该键存储在相应的桶中;
2.当我们想要搜索一个键时,哈希表将使用相同的哈希函数来查找对应的桶,并只在特定的桶中进行搜索。
例如下边一个例子,哈希函数是: y%5
通过上边的介绍,可以得出,设计哈希表的两个关键点是 哈希函数 和 冲突。
上边介绍的例子, 以 y = x % 5
作为散列函数,其中 x
是键值,y
是分配的桶的索引。
散列函数的设计将取决于键值的范围
和桶的数量。
原文:https://www.cnblogs.com/natty-sky/p/12270006.html