1,hashset:内部封装的是一个map,所以保证值不重复,线性不安全 2,hashmap:内部为hash表,数组与链表,所谓的链表也就是entry内部类,此内部类有next,key,value字段,线性不安全 3,arrayList:封装了...
分类:
编程语言 时间:
2015-11-08 16:38:56
阅读次数:
195
Hash 表又称散列表,通过关键字Key 映射到数组中一个位置来访问记录 Hash 函数的作用是把任意长度的输入,通过HASH算法变换成固定长度的输出,该输出就是HASH值 HASH表的时间复杂度为O(1) 下文使用直接取余法实...
分类:
Web程序 时间:
2015-11-04 15:03:03
阅读次数:
223
最常用的3个HASH函数:1.除法散列法:通过取k除以m的余数,来将关键字k映射到m个槽的某一个中去,即散列函数为:h(k) = k mod m2.乘法散列法:首先,用关键字k乘上常数A(0<A<1),并抽取kA的小数部分;然后,用m乘以这个值,再取结果的底(即整数部分)。散列函数可表达为:h(k)...
分类:
其他好文 时间:
2015-10-29 21:53:46
阅读次数:
492
Java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMapMap用于存储键值对,根据键得到值,因此不允许键重复,值可以重复.HashMap就是一张hash表,键和值都没有排序;TreeMa...
分类:
其他好文 时间:
2015-10-27 23:37:36
阅读次数:
338
字符串hash算法Time33在效率和随机性两方面上俱佳。对于一个Hash函数,评价其优劣的标准应为随机性,即对任意一组标本,进入Hash表每一个单元(cell)之概率的平均程度,因为这个概率越平均,数据在表中的分布就越平均,表的空间利用率就越高。Times33的算法很简单,就是不断的乘33,见下面算法原型。hash(i) = hash(i-1) * 33 + str[i]...
分类:
编程语言 时间:
2015-10-27 17:46:09
阅读次数:
288
http://xingyunbaijunwei.blog.163.com/blog/static/76538067201111494524190/什么是HashHash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定...
分类:
编程语言 时间:
2015-10-27 17:37:59
阅读次数:
212
我们由一个简单的问题逐步入手:有一个庞大的字符串数组,然后给你一个单独的字符串,让你从这个数组中查找是否有这个字符串并找到它,你会怎么做?有一个方法最简单,老老实实从头查到尾,一个一个比较,直到找到为止,我想只要学过程序设计的人都能把这样一个程序作出来,但要是有程序员把这样的程序交给用户,我只能用无...
分类:
编程语言 时间:
2015-10-27 17:07:54
阅读次数:
248
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。sae同样提供memcache 缓存服务。如何开启SA...
分类:
移动开发 时间:
2015-10-23 11:41:05
阅读次数:
282
是一种hash方法,其实核心思想就是,将一个字符串通过多个普通hash函数映射到hash表上,然后再进行检索的时候同样计算hash函数,如果全都都hash表上出现过,那么说明有极大的可能出现过,如果没有出现那么一定没有出现过。可以通过公式计算采取多少个普通hash函数和多大映射空间使正确率变得最低。...
分类:
其他好文 时间:
2015-10-16 17:05:53
阅读次数:
258
题目:从一个字符串中找到一个连续子串,该子串中任何两个字符不能相同,求子串的最大长度并输出一条最长不重复子串。思路:利用hash表hashTable[256]来保存出现过的字符,然后从头开始遍历字符串,1、如果当前字符ch已经出现过(hashTable[ch]==1),则表示一个局部最长不重复子串已...
分类:
编程语言 时间:
2015-10-13 20:46:58
阅读次数:
156