labels:Collection List Set和Map用法与区别 java 散列表
集合Collection接 口的接口对 象的集合├List子接口按进入先后有序保存可
重复│├LinkedList接口实现类链表插入删除没有同步线程不安全│├ArrayList接口实现类数组随机访问没有同步线程...
分类:
其他好文 时间:
2014-05-26 10:20:32
阅读次数:
177
查找(二)
散列表
散列表是普通数组概念的推广。由于对普通数组可以直接寻址,使得能在O(1)时间内访问数组中的任意位置。在散列表中,不是直接把关键字作为数组的下标,而是根据关键字计算出相应的下标。
使用散列的查找算法分为两步。第一步是用散列函数将被查找的键转化为数组的一个索引。
我们需要面对两个或多个键都会散列到相同的索引值的情况。因此,第二步就是一个处理碰撞冲突的过程,...
分类:
其他好文 时间:
2014-05-22 13:27:19
阅读次数:
421
查找(一)
我们使用符号表这个词来描述一张抽象的表格,我们会将信息(值)存储在其中,然后按照指定的键来搜索并获取这些信息。键和值的具体意义取决于不同的应用。
符号表中可能会保存很多键和很多信息,因此实现一张高效的符号表也是一项很有挑战性的任务。
我们会用三种经典的数据类型来实现高效的符号表:二叉查找数、红黑树、散列表。
二分查找
我们使用有序数组存...
分类:
其他好文 时间:
2014-05-22 10:33:13
阅读次数:
403
摘要:为了探索dotnet中hashtable的目录结构及与目录扩展相关的算法,本文通过对相关源码的阅读与分析,得出如下结论,hashtable的目录是由数组组织,目录元素代表一个数据节点,不是数据桶。目录扩展是扩展当前目录长度2倍往1遍历过程中遇到的第一个素数。目录扩展触发条件:装载因子式的触发,同时考虑到“杂乱程度”需要进行重新散列。目录扩展时需要遍历原有目录中所有的元素。查询过程与探测再散列类似。
关键词:dotnet,hashmap,目录扩展方法,目录扩展触发条件...
分类:
Web程序 时间:
2014-05-21 06:33:52
阅读次数:
309
广播分2种,无序广播和有序广播。可以理解为散列和队列广播。首先无序广播,不能中断,分发机制有点类似散列发送。这种广播的的发送为:context.sendBroadcast这种广播是不能中断的,请看API说明。其次为有序广播,可以中断。这种广播,以我的理解可能存在很大的BUG,短信这块广播的发送BUG...
分类:
移动开发 时间:
2014-05-19 09:55:00
阅读次数:
272
散列表是一种ADT。散列表的实现常常叫做散列(hashing),它是一种用于以常数平均时间执行插入、删除、查找的技术。需要元素间任何排序信息的操作将不会得到有效的支持。例如FindMax、FindMax、按序输出等。
散列表的关键是确定散列函数,《数据结构与算法分析》中提到了几种散列函数,但都不是完美的。能解决冲突但有可能散列表占用率不高。字符串中的字符不是随机出现,这也影响到了散列表的...
分类:
其他好文 时间:
2014-05-16 00:04:10
阅读次数:
493
散列表(Hash table,也叫哈希表),是根据关键字(Key value)而直接访问在内存存储位置的数据结构。也就是说,它通过把键值通过一个函数的计算,映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。
一个通俗的例子是,为了查找电话簿中某人的号码,可以创建一个按照人名首字母顺序排列的表(即建立人名x到首字母F(x)的一个函数关系),在首...
分类:
编程语言 时间:
2014-05-15 02:27:50
阅读次数:
497
哈希表,也叫散列表,是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做哈希函数,存放记录的数组叫做哈希表。
哈希函数最主要的设计在于哈希函数和冲突处理的解决,其中哈希函数的设计方法主要有直接定址法和除留余数法;冲突处理的方法主要有开放定址法和链地址法。本文主要实现了一个基本存放字符串的哈希表,冲...
分类:
编程语言 时间:
2014-05-15 01:35:01
阅读次数:
396
一、概述本文将粗略讲述一下Hash算法的概念特性,里边会结合分布式系统负载均衡实例对Hash的一致性做深入探讨。另外,探讨一下Hash算法在海量数据处理方案中的通用性。最后,从源代码出发,具体分析一下Hash算法在MapReduce框架的中的应用。二、Hash算法Hash可以通过散列函数将..
分类:
其他好文 时间:
2014-05-13 01:34:11
阅读次数:
421
在很多电子商务和社区应用中,我们都要存放很多的客户的资料,其中包括了很多的隐私信息和客户不愿被别人看到的信息,当然好有客户执行各种操作的密码,此时就需要对客户的信息进行加密再存储,目前有两种比较好的加密算法:MD5和sha1。这两种加密算法都属于散列加密技术。所谓散列加密就是无论输入的字符串是什么,...
分类:
其他好文 时间:
2014-05-10 08:21:47
阅读次数:
305