算法基础
zwz1984
这个作者很懒,什么都没留下…
展开
-
Hash算法冲突解决方法分析
看了ConcurrentHashMap的实现, 使用的是拉链法. 虽然我们不希望发生冲突,但实际上发生冲突的可能性仍是存在的。当关键字值域远大于哈希表的长度,而且事先并不知道关键字的具体取值时。冲突就难免会发 生。另外,当关键字的实际取值大于哈希表的长度时,而且表中已装满了记录,如果插入一个新记录,不仅发生冲突,而且还会发生溢出。因此,处理冲突和溢出是 哈希技术中的两个重要问题。 1、转载 2015-03-26 17:14:03 · 424 阅读 · 0 评论 -
哈希函数的构造方法
哈希函数的构造方法 本文阐述了哈希函数的构造方法有很多,但应注意两个原则:第一,函数值应在1至记录总数之间;第二,尽可能避免冲突。 设要存放的数据元素有n个,存放数据元素的内存单元有m个,设计哈希函数的目标就是要使通过哈希函数得到的n个数据元素的哈希地址尽可能均匀地分布在m个连续内存单元上,同时使计算过程尽可能简单以达到尽可能高的时间效率。转载 2015-03-26 16:30:43 · 955 阅读 · 0 评论 -
字符串哈希到整数函数的算法
基本概念 所谓完美哈希函数,就是指没有冲突的哈希函数,即对任意的 key1 != key2 有h(key1) != h(key2)。 设定义域为X,值域为Y, n=|X|,m=|Y|,那么肯定有m>=n,如果对于不同的key1,key2属于X,有h(key1)!=h(key2),那么称h为完美哈希函数,当m=n时,h称为最小完美哈希函数(这个时候就是一一映射了)。 在处理大规模字符串数据转载 2015-03-26 16:52:19 · 1909 阅读 · 0 评论 -
编程实现哈希存储算法的简单实例
编程实现哈希存储算法的简单实现实例。 通过编写一个简单的哈希实例来加强对哈希算法的理解。下面实例包括存储与查找算法。拉链法解决冲突问题。 如果时间长了对哈希算法的理论知识不够了解,可以先阅读前面转载的两篇文档: 字符串哈希到整数函数,算法:http://blog.csdn.net/hzhsan/article/details/25552153 Hash算法冲突解决方法分析:转载 2015-03-27 15:01:52 · 762 阅读 · 0 评论 -
hash_map原理
1 、hash_map原理 hash_map基于hash table(哈希表)。 哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。然而在当前可利用内存越来越多的情况下,用空间换时间的做法是值得的。另外,编码比较容易也是它的特点之一。 其基本原理是:使用一个下标范围比较大的数组来存储元素。可以设计一个函数(哈希函数,也叫做散列函数转载 2015-11-24 15:34:54 · 327 阅读 · 0 评论