1 枚举 2 模拟 3 构造 4 位运算的应用 5 查找 5.1 二分查找 5.2 分块查找 5.3 哈希查找HASH 5.3.1 线性探测法 5.3.2 字符串与哈希 6 搜索 6.1 深度优先搜索DFS 6.1.1 剪枝 6.1.2 人工栈DFS 6.2 宽度优先搜索BFS 6.3 启发式搜索 ...
分类:
其他好文 时间:
2017-04-03 16:27:44
阅读次数:
272
hash 冲突及解决办法。 关键字值不同的元素可能会映象到哈希表的同一地址上就会发生哈希冲突。解决办法: 1)开放定址法:当冲突发生时,使用某种探查(亦称探测)技术在散列表中形成一个探查(测)序列。沿此序列逐个单元地查找,直到找到给定 的关键字,或者碰到一个开放的地址(即该地址单元为空)为止(若要插 ...
分类:
其他好文 时间:
2017-04-01 00:41:17
阅读次数:
181
1、直接映射表查找数据时,直接定位,时间复杂度为:O(1);局限性:浪费大量的内存空间;2、哈希表(1)、用一个哈希函数Hash()来随机映射那些键;抽象模型(2)、哈希冲突时:i、链地址法,时间复杂度最坏:O(n);简单均匀哈希的时间复杂度:O(1+a);a:装载因子哈希函数的选取:..
分类:
其他好文 时间:
2017-02-20 01:34:00
阅读次数:
280
原来蛤习线性探测的时候要每次加一个稍大一点的数而不是每次+1……连蛤习都不会写,我tmd是有多弱 原题: N(1<=N<=100000)头牛,一共K(1<=K<=30)种特色,每头牛有多种特色,用二进制01表示它的特色ID。比如特色ID为13(1101),则它有第1、3、4种特色。所以,我们认为第i ...
分类:
其他好文 时间:
2017-01-21 10:57:13
阅读次数:
312
在SQL Server 2012,有2个校验函数:check_sum 和 binary_check,在一些Data Table中,如果存在多个字符串字段,并且字符串非常长,在比较字符串是否相同时,使用校验函数,将其转换成 int 类型,能够提高数据比较的速度。但是不要忽略 CSDN 官方文档的Cau ...
分类:
其他好文 时间:
2016-11-08 14:13:58
阅读次数:
204
找到了这个系列的原始作者: http://www.cnblogs.com/rush/archive/2012/02/05/2339037.html 这一篇跟Hash关系比较密切。 首先,发生哈希冲突时,我们可以使用冲突解决方法解决冲突,而主要的哈希冲突解决方法如下: 注意: .NET是使用第一种策略 ...
分类:
编程语言 时间:
2016-10-23 20:13:43
阅读次数:
261
问题1. 不同的字符串可能会有相同的HashCode吗? hashcode是用来判断两个字符串是否相等的依据,不同的字符串不可能有相同的hashcode,但不同的hashCode经过与长度的取余,就很可能产生相同的hashCode,就是所谓的哈希冲突. 如: public static void m ...
分类:
其他好文 时间:
2016-09-26 21:27:25
阅读次数:
147
Hashtable Hashtable 的实例有两个参数影响其性能:初始容量 和加载因子。容量 是哈希表中桶 的数量,初始容量就是哈希表创建时的容量。注意,哈希表的状态为 open:在发生“哈希冲突”的情况下,单个桶会存储多个条目,这些条目必须按顺序搜索。加载因子 是对哈希表在其容量自动增加之前可以 ...
分类:
编程语言 时间:
2016-08-19 20:27:59
阅读次数:
204
满足费马小定理 a^(n-1) 1(mod n) >伪素数 对于所有a belong Zn*,总存在满足的合数n,称为Carmichael数 【Miller-Rabin】: 1.随机找多个s个a 2.二次探测定理: 如果p是奇素数,则 x2 1(mod p)的解为 x = 1 || x = p - ...
分类:
其他好文 时间:
2016-08-13 01:16:54
阅读次数:
204
使用散列的查找算法分为两步,第一步用散列函数将被查找的键转化为数组的一个索引,理想情况下不同的键都被转化为不同的索引值.而当多个键散列到相同的索引值的情况下,就需要处理碰撞冲突,为此有两种方法,拉链法和线性探测法. 散列函数用于通过键来获取其对应的索引值.好的散列函数应该具有计算简便,等价的键必然产 ...
分类:
编程语言 时间:
2016-07-17 12:16:49
阅读次数:
218