数据结构之HashTable
2016-01-07 10:11
309 查看
哈希表示从一个集合到另一个集合的映射(mapping)。映射为一种对应的关系,而且,集合A中的一个元素智能对应到集合B的一个元素,但是反过来不成立,集合B中的一个元素可能对应到集合A中的多个元素。如果集合B中的每一个元素都唯一对应到结合A中的元素,这样为映射(更详细见百度)。
映射关系在哈希表中成为hashing(散列),A中的元素为key,B中的元素为vlaue(hashValue哈希值),哈希在数学上相当于一个函数,f(x)=aX+b,哈希表的核心是一个哈希函数。这个函数规定了集合A中的元素如何的对应到集合B中的元素。即:给哈希函数一个输入值,它会计算出这个只的hashValue.
注意,hash只要求从A到B的对应为一个映射,它并没有限定该对应关系为一一映射。因此会有这样的可能:两个不同的键值对应同一个hash值。这种情况叫做hash碰撞(hash collision)。
映射关系在哈希表中成为hashing(散列),A中的元素为key,B中的元素为vlaue(hashValue哈希值),哈希在数学上相当于一个函数,f(x)=aX+b,哈希表的核心是一个哈希函数。这个函数规定了集合A中的元素如何的对应到集合B中的元素。即:给哈希函数一个输入值,它会计算出这个只的hashValue.
注意,hash只要求从A到B的对应为一个映射,它并没有限定该对应关系为一一映射。因此会有这样的可能:两个不同的键值对应同一个hash值。这种情况叫做hash碰撞(hash collision)。
相关文章推荐
- 数据结构—线性表AUB
- 数据结构:队列的概念和实现
- 数据结构与算法——插入排序以及C++函数模板实现
- 三种改进型排序算法-快速排序,堆排序,希尔排序
- 《挑战程序设计竞赛》3.3.2 数据结构-线段树和平方分割 POJ2991 3264 2104 3468 3368 3470 1201 UVA11990(4)
- 《挑战程序设计竞赛》3.3.1 数据结构-树状数组 POJ3468 1804 1990 3109 2155 2886(4)
- 数据结构_一元稀疏(加减乘法)计算器
- 字典树两种写法....
- OpenMesh学习笔记3 半边数据结构
- Scalaz(23)- 泛函数据结构: Zipper-游标定位
- Scalaz(23)- 泛函数据结构: Zipper-游标定位
- 数据结构基础--线性表操作
- mysql索引之二:数据结构及算法原理
- opencv 基本数据结构
- 22.cocos2d-x数据结构
- 暑假集训-数据结构
- openCV-cvMat数据结构
- Objective-C数据结构
- Objective-C数据结构
- 数据结构与算法——二分查找算法