您的位置:首页 > 理论基础 > 数据结构算法

深入理解散列表(哈希表)

2016-05-22 15:00 211 查看
散列表:根据关键字码直接进行访问的数据结构;实现字典操作的一种有效数据结构。

特点:

1. 是普通数组的推广。普通数组利用下标直接寻址。

2. 散列表使用一个长度与实际存储的关键字数目成比例的数组来存储。

3. 不是直接把关键字作为数组的下标,而是由关键字计算出相应的下标。

4. 不同的输入可能会散列成相同的输出,不可能从散列值来唯一确定输入值。

散列表的使用场景:

1. 如果全域(可以理解为关键字的值域)很大,存储全域空间,存不下。

2. 实际要存储的关键字集合相当于全域很小,分配全域空间,造成很大的浪费。

应用:

快速查找:关键码值映射到表的一个位置访问记录。

压缩映射:把任意长度的输入通过散列函数变换成固定长度的输出。散列值的空间远远小于输入值的空间。

实现:

1. 如何构建散列函数。

2. 如何处理冲突。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息