Hashtable,哈希表是根据关键码值(Key value)直接进行访问的数据结构。它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。
HashMap,不保证映射的顺序,特别是它不保证该顺序恒久不变。一个HashMap的实际容量=容量x因子,其默认值是16×0.75=12。当存入HashMap的对象超过这个容量时,HashMap会重新构造存取表(长度变为原来的2倍,然后一个个indexfor进去),这是一个大问题,所以当你知道大概要存放多少个对象时,最好设为该实际容量的能接受的数字。对于冲突...
分类:
其他好文 时间:
2014-05-15 06:59:55
阅读次数:
236
一个简单的consistent hashing的例子,很容易理解。
首先有一个设备类,定义了机器名和ip:
public class Cache
{
public String name;
public String ipAddress;
}
然后是主要的实现:
public class Shard {
//hash 算法并不是保证绝对的平衡,如果 cache 较少的话,...
分类:
其他好文 时间:
2014-05-15 06:56:41
阅读次数:
370
安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,...
分类:
编程语言 时间:
2014-05-15 05:42:58
阅读次数:
641
未排序数组,O(N)时间,常数空间,这道题让我非常清晰的感觉到算法的魅力。
先想一下如果允许用额外空间的话,我们会怎么做,对,我们会建立一个hash表,然后从头到尾的扫描数组,等等,怎么映射呢?有n个数,要找第一个消失的正正整数,那么这个消失的正整数的取值范围是什么呢?[1, n+1],之所以包含n+1是因为如果这n数正好是连续的前n个自然数。那我们就知道了,开一个长为n的哈希表,如果当前扫到得...
分类:
其他好文 时间:
2014-05-15 03:45:41
阅读次数:
276
散列表(Hash table,也叫哈希表),是根据关键字(Key value)而直接访问在内存存储位置的数据结构。也就是说,它通过把键值通过一个函数的计算,映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。
一个通俗的例子是,为了查找电话簿中某人的号码,可以创建一个按照人名首字母顺序排列的表(即建立人名x到首字母F(x)的一个函数关系),在首...
分类:
编程语言 时间:
2014-05-15 02:27:50
阅读次数:
497
在字符串中找出第一个只出现一次的字符。如输入:“aabcdc”,则输出b
。思路:我们可以把数组当做一个简单的哈希表来用,把每个字母的ASCII码值作为在数组中的位置(下标),数组中存储的是该字符出现的次数。这样我们就创建了一个以字符ASCII码为健值的哈希表。
分类:
其他好文 时间:
2014-05-14 22:41:18
阅读次数:
352
这篇继续分享下GetHashCode和ExpandoObject这两个比较好玩的方法。一:GetHashCode
从MSDN上可以看到的解释是:用作特定类型的哈希函数,也就是说任何对象的实例都会有一个int32类型的HashCode,并且存放在FCL中的HashCollection中,废话不说...
分类:
其他好文 时间:
2014-05-14 11:25:07
阅读次数:
250
收获:在运行程序的时候,错误出现。主要是map没有进行判断,是否为空,如果为空,则创建一个对象new
HashMap();然后就注意细节,String name=request.getParameter("name"); String
pass=request.getParameter("pa...
分类:
编程语言 时间:
2014-05-13 17:33:42
阅读次数:
276
编程实现哈希存储算法的简单实现实例。
通过编写一个简单的哈希实例来加强对哈希算法的理解。下面实例包括存储与查找算法。拉链法解决冲突问题。
如果时间长了对哈希算法的理论知识不够了解,可以先阅读前面转载的两篇文档:
字符串哈希到整数函数,算法
:http://blog.csdn.net/hzhsan/article/details/25552153
Hash算法冲突解决方法分析
:http...
分类:
其他好文 时间:
2014-05-13 07:46:31
阅读次数:
301
安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,...
分类:
编程语言 时间:
2014-05-12 22:52:43
阅读次数:
582