1.学习总结 1.1查找的思维导图 1.2 查找学习体会 查找内容很多,像平均查找长度,平均二叉树插入删除时的调整,还有B树,哈希表,哈希冲突等重要内容,查找的内容也与我们平时生活联系很深。 本周还学习了Map,STL的一个容器,它提供一对一的hash,很多功能直接调用函数,很方便 变量声明:map ...
分类:
其他好文 时间:
2018-05-26 22:41:35
阅读次数:
240
哈希表的定义:哈希表是一种根据关键码去寻找值的数据映射结构,该结构通过把关键码映射的位置去寻找存放值的地方。键可以对应多个值(即哈希冲突),值根据相应的hash公式存入对应的键中。 哈希函数的构造要求: 哈希冲突解决方法:1.链地址法 链地址法的原理时如果遇到冲突,他就会在原地址新建一个空间,然后以 ...
分类:
编程语言 时间:
2018-05-03 15:32:15
阅读次数:
245
题目背景 此题约为NOIP提高组Day2T2难度。 题目描述 众所周知,模数的hash会产生冲突。例如,如果模的数p=7,那么4和11便冲突了。 B君对hash冲突很感兴趣。他会给出一个正整数序列value[]。 自然,B君会把这些数据存进hash池。第value[k]会被存进(k%p)这个池。这样 ...
分类:
其他好文 时间:
2018-03-18 22:31:24
阅读次数:
232
【算法】哈希表的诞生(Java) 目录 为什么要使用哈希表 哈希表的取舍 使用哈希表的前提 哈希函数的构造 1.直接定址法 2.数字分析法 3. 平方取中法 4.折叠法 5.除留余数法 哈希地址的冲突 解决冲突的方法 拉链法 线性探测法 插入操作 查找操作 删除操作 再哈希法 正文 参考资料 《算法 ...
分类:
编程语言 时间:
2018-02-22 19:34:42
阅读次数:
298
散列的实现 // 散列类 线性探测法 function HashTable () { this.table = new Array(137); this.values = []; this.simpleHash = simpleHash; this.betterHash = betterHash; ...
分类:
编程语言 时间:
2018-01-21 01:16:27
阅读次数:
167
题目要求 利用除留余数法为下列关键字集合的存储设计hash函数,并画出分别用开放寻址法和拉链法解决冲突得到的空间存储状态(散列因子取0.75) 关键字集合:85,75,57,60,65,(你的8位学号相加值),98,74,89,12,5,46,97,13,69,52,92 实现思路 线性探测开放寻址 ...
分类:
其他好文 时间:
2017-11-28 01:27:53
阅读次数:
155
Hash表的“查找成功的ASL”和“查找不成功的ASL” ASL指的是 平均查找时间 关键字序列:(7、8、30、11、18、9、14) 散列函数: H(Key) = (key x 3) MOD 7 装载因子: 0.7 处理冲突:线性探测再散列法 查找成功的ASL计算方法: 因为现在的数据是7个,填 ...
分类:
其他好文 时间:
2017-11-04 11:20:29
阅读次数:
85
插入删除接近常量,大o表示法最快的方式哈希表查询也快,但是底层存储结构是数组,一旦创建无法改变大小哈希表无法用来有序遍历冲突的解决方法:开放地址法(线性探测,二次探测,再哈希)和链地址法 ...
分类:
其他好文 时间:
2017-10-23 18:13:54
阅读次数:
154
质数检测一般都是根号n的写法 当然Mr判素数的方法可以实现log的复杂度2333 Mr判素数的话 我们根据费马小定理只要P是素数 那么另一个素数x 满足 x^P-1≡1(mod P) 同时 x^2%P==1 的解只有 x==1||x==P-1 可以利用这第二个式子做二次探测 利用 2 3 5 7 1 ...
分类:
其他好文 时间:
2017-10-18 11:50:17
阅读次数:
131
1. 字符串 查找匹配 KMP 正则 2. 数组 3. 链表 4. 栈 5. 队列 6. 树 二叉树 前序遍历 中序遍历 后序遍历 B Tree / B+ Tree 红黑树 7. 哈希 哈希冲突 k-v 8. 图 BFS DFS 9. 排序 ...
分类:
编程语言 时间:
2017-08-23 19:05:21
阅读次数:
149