概念:如果我们构造一个查找表,是数据源怒刷的存放位置和数据元素的关键字之间存在某种对应关系,则我们可以直接由数据元素的关键字得到该数据元素的存放位置,这样的查找表就是哈希表
哈希函数:我们把数据元素的关键字和该数据元素的存放位置之间的映射函数称为哈希函数(哈希表是通过哈希函数来确定数据元素存放位置的一种特殊表结构)
哈希冲突:对于两个关键字Ki和kj他们的映射h(Ki)==h(Kj)这就叫做哈希冲突,也就是说不同关键字的两个元素因为他们的哈希函数的运算结果而得到了哈希表中相同的位置映射
解决哈希冲突的基本思想:当哈希冲突时通过哈希冲突函数产生一个新的哈希地址使h1(Ki)!=h1(Kj)
个人比较喜欢用链表法,如果有相同的h(Ki)产生就在哈希表上的结点多加个指针域,把他们相同的全部放在一个链表上就好了
哈希表挺简单的,简单到你就可以当作是一个数组,然后里面放的数据是因为某种关系放的是固定的位置,所以对哈希表而言去查找数据会变的非常简单,因为你直接按照关键字对应的哈希函数的位置映射在哈希表上面查找就好了,最快的查找速度可以达到O(1)
一致性哈希表:
目的:设计目标是为了解决因特网中的热点(Hot spot)问题
http://blog.csdn.net/cywosp/article/details/23397179/