概念:
哈希(hash),也叫做散列、数据摘要等,是一种常见的数据结构。哈希的表的核心概念分为哈希表和哈希函数。
哈希表(hashTable)
哈希表之前讲过,有需要的可以参考:点击打开哈希表
哈希函数
哈希函数就是将某一不定长的对象映射为另一个定长的对象。能够做到这一点的函数有很多,那什么可以作为哈希函数?这里我们首先要明确下什么可以作为哈希函数。
如果两个不同的对象经过哈希函数计算后得到相同的哈希值,则这就是所谓的冲突。冲突会导致很多的异常,说一种极端的情况:如果一个哈希函数的计算记过经常为0,那么它根本无法帮助我们来区分对象,也就不能帮助我们快速查找对象了,也就违反了哈希的作用。
在设计哈希函数的时候我们主要关注两点:
- 冲突少:很少出现不同的对象函数作用后得到相同的值。
- 计算快:计算哈希能够快速找到对象。
Hash函数还有另外的含义。实际中的Hash函数是指把一个大范围映射