《第五章》 散 列
散列表的实现常常叫做散列(hashing)。散列是一种用于以常数平均时间执行插入、删除和查找的技术。
关于散列有一个很重要的概念:散列函数。散列函数是散列的关键处之一,散列函数又是基于映射机制的一种对应关系(一般是多对一的关系)。
这章可以分为5个部分:一般想法,散列函数,分离链接法,开放定址法(可分为线性探测、平方探测、双散列)、再散列、可扩散列。
本...
分类:
其他好文 时间:
2015-03-30 14:38:42
阅读次数:
224
源码分析要分析HashMap,先来回顾一下数据结构中的哈希表。什么是哈希表?是根据关键码值(Key)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做哈希函数,存放记录的数组叫哈希表。
比如关键字为k,则其值存放在f(k)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为哈希函数,按这个思想建立的表为散列表(哈希表...
分类:
其他好文 时间:
2015-03-06 19:15:19
阅读次数:
219
序言:如果将一系列的记录按照关键字的某种函数存储,那么在查找某个数据的时候就可以直接通过关键字计算出来了,而不在需要“比较”,这样会非常高效,这就是散列技术。所以散列技术就是: 存储位置=f(关键字) 不管是记录的存储还是查找,都用这种方法散列技术具有很高的效率,但是使用起来有一些限制。如1个关键字...
分类:
其他好文 时间:
2015-01-05 16:12:18
阅读次数:
238
哈希表/散列表hash table在插入、删除、查找上具有“平均常数时间复杂度”O(1),hash table原理大部分都了解,具体实现还是要看其源代码。...
分类:
其他好文 时间:
2014-08-17 20:02:02
阅读次数:
398
1基本数据结构基本数据结构有:数组。顺序存储,可随机访问。有最快的查询速度,插入、删除元素非常麻烦。链表。存储相对位置,可按节点依次访问。查询较慢,插入、删除节点较快。有单向链表、双向链表等。块状链表。数组和链表结合。栈和队列。树。有二叉树、平稀树、B树等。堆。有顺序的树。散列表。哈希表,即map。...
分类:
其他好文 时间:
2014-07-10 12:44:03
阅读次数:
164