哈希表(第一部分)

哈希表是网页浏览器中最重要的基本数据结构之一。但大多数人对它们了解不多。尽管你很少需要从头开始构建自己的哈希表,但了解它们的工作原理以及能解决什么问题是很有用的。

哈希表是一种关联数组,它使用哈希函数将项映射到数组中的伪随机槽位。如果有一个好的哈希函数,哈希表可以为键值查找提供快速的 O(1) 访问。

好的,这听起来像一堆计算机科学的行话,但哈希表到底有什么用呢?用处很多。比如说,如果你想快速地将名称映射到特定的值,例如 document.getElementById 使用的从 id 属性到元素的映射。那么,哈希映射正是你所需要的。你可以构建一个表,快速地将字符串映射到相应的 DOM 节点。

你还可以使用哈希表来实现“集合”。比如说,如果你想快速检查一个标签是否属于 HTML 内联元素集合中的一个,以便正确解析。你可以使用哈希表来构建一个集合,快速检查一个标签名是否是这些标签之一。

最后,哈希表也适用于缓存。有时当你进行复杂的计算来确定一个值时,你希望确保能够快速地再次进行相同的计算。这时你可以使用哈希表将输入映射到已经计算出的输出。

这就是关于哈希表的一些用处。敬请期待我们的下一个精彩章节,它将介绍不同的哈希表算法,以及哪些算法可以让你创建最快的哈希表。