HashMap也是一个很实用的类,HashMap对象采用散列表这种数据结构存储数据,习惯上称HashMap对象为散列映射对象。散列映射用于存储键值数据对,允许把任何数量的键值数据对存储在一起。键不可以发生逻辑冲突,两个数据项不要使用相同的键,如果出现两个数据项对应相同的键,那么先前散列映射中的键值对将被替换。散列映射在它需要更多的存储空间时会自动增大容量。例如,如果散列映射的装载因子是0.75,那...
分类:
其他好文 时间:
2015-01-22 15:36:08
阅读次数:
300
一、定义
Hash即“哈希”,是把任意长度的输入通过散列算法变换成固定长度的输出(该输出即散列值)。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
关键字k:即输入值
散列函数H(key):为了完成转化的固定算法
散列表(也称哈希表):关键字经散列函数输出后的结果表
二、常用的hash函数
1. 直接寻址法:取关键字或关键字的某个线性函数...
分类:
其他好文 时间:
2015-01-20 18:08:40
阅读次数:
152
一、介绍
一个集合类型(set)键可以存储至多2^32-1个字符串。
集合类型在Redis内部是使用值为空的散列表(hash table)实现的,所以操作的复杂度为O(1)。多个集合类型键之间还可以进行并集、交集和差集运算。
二、命令
1.增加/删除元素
sadd key member
srem key member
sadd用来向集合中增加一个或者多个元素,如果键不存...
分类:
其他好文 时间:
2015-01-15 23:56:37
阅读次数:
499
算法导论第三版,第十一章散列表 习题11.1-4 大数组实现直接寻址方式的字典操作。...
分类:
编程语言 时间:
2015-01-05 16:36:47
阅读次数:
95
序言:如果将一系列的记录按照关键字的某种函数存储,那么在查找某个数据的时候就可以直接通过关键字计算出来了,而不在需要“比较”,这样会非常高效,这就是散列技术。所以散列技术就是: 存储位置=f(关键字) 不管是记录的存储还是查找,都用这种方法散列技术具有很高的效率,但是使用起来有一些限制。如1个关键字...
分类:
其他好文 时间:
2015-01-05 16:12:18
阅读次数:
238
#include
//链表
typedef struct listNode
{
int val;
listNode *next;
listNode(int key):val(key),next(NULL){}
listNode():val(0),next(NULL){}
}*position;
typedef position list;
//散列表
typedef struct h...
分类:
其他好文 时间:
2014-12-24 13:29:19
阅读次数:
203
什么是Hash表 Hash表又可称哈希表、散列表、或是杂凑表。 它是一种十分实用的查找技术,具有极高的查找效率;Hash表定义: 根据设定的哈希函数H(key)和所选中的处理冲突的方法,将一组关键字映像到一个有限的、地址连续的地址集(区间)上,并以关键字在地址集中的“映像”作为相应的表...
分类:
其他好文 时间:
2014-12-21 23:20:06
阅读次数:
232
/*开散列表的插入、查找、删除算法的实现*/
#include
#include
#define M 13 //表长定为13
typedef int KeyType;
typedef struct KeyNode {
KeyType key;
struct KeyNode *next;
}KeyNode;
KeyNode *HashTable[M];
//关键字查找函数
int H...
分类:
其他好文 时间:
2014-12-21 14:03:09
阅读次数:
175
/*闭散列表的建立、查找、插入、删除*/
#include
#define NIL -1 //假设关键字为非负整数
#define DEL -2
typedef int KeyType;
KeyType HashTable[13]; //便于验证算法,关键字个数假定为不超过13,哈希表长定为13
//关键字插入函数
void InsertHashTable(KeyType k)
{
...
分类:
其他好文 时间:
2014-12-20 23:34:42
阅读次数:
379
除了各种树表之外,还可以采用散列技术来表示并实现动态查找表。“散列”既是一种存储方式,又是一种查找方法。这种查找方法称为散列查找。按散列存储方式构造的存储结构称为散列表。散列技术的核心是散列函数。
散列函数是一种将键值映射为散列表中的存储位置的函数。对任意给定的动态查找表T,如果选定了某个“理想的”散列函数H及相应的散列表L,则对T中的每个数据元素X,函数值 H(X.key)就是X在散列...
分类:
其他好文 时间:
2014-12-18 22:21:34
阅读次数:
348