哈希查找:按某种规则散列 建立一个哈希表 ,适用于多次查找。因为建表消耗的时间和空间比较大。 散列函数:求整取余法 例如:数组中有n个值,则对n取余。申请一个长度为n的数组。最理想的情况下,每个位置放置一个数,但不同的数可能对n取余数相同。 解决哈希冲突: 1.开放地址法: 线性探测: 有冲突则放入 ...
分类:
其他好文 时间:
2018-06-01 23:14:05
阅读次数:
187
哈希查找的思想是按照某种弄规则散列(分组) 创建哈希表,可以多次利用 哈希查找适用于多次查找,查找速度是最快的 散列我们一般用求整取余法 数组长度是几我们就对几取余,存到哈希表的对应数组下标里 但是可能会遇到哈希冲突,也就是数组里某一处已经有元素了,还要往里存 解决哈希冲突我们一般用两种方法 1.开 ...
分类:
其他好文 时间:
2018-06-01 20:37:05
阅读次数:
180
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
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
1. HashMap在链表中存储的是键值对 2. 数组是一块连续的固定长度的内存空间,再好的哈希函数也不能保证得到的存储地址绝对不发生冲突。那么哈希冲突如何解决呢?哈希冲突的解决方案有多种:开放定址法(发生冲突,继续寻找下一块未被占用的存储地址),再散列函数法,链地址法,而HashMap即是采用了链 ...
分类:
其他好文 时间:
2017-08-10 22:20:54
阅读次数:
129
题目背景 此题约为NOIP提高组Day2T2难度。 题目描述 众所周知,模数的hash会产生冲突。例如,如果模的数p=7,那么4和11便冲突了。 B君对hash冲突很感兴趣。他会给出一个正整数序列value[]。 自然,B君会把这些数据存进hash池。第value[k]会被存进(k%p)这个池。这样 ...
分类:
其他好文 时间:
2017-07-06 23:57:46
阅读次数:
356
战争故事 非常久非常久以前,以前发生过非常多关于哈希函数的战争故事。那些战争的基本原理就是通过精心构造造成大量的哈希冲突从而占用大量的CPU资源。 被攻击的软件例有下面样例: 带有漏洞的server:攻击者精心构造哈系冲突。仅仅须要56K的网速就能让server死机,从而达到DOS攻击的目的。 Pe ...
分类:
编程语言 时间:
2017-06-15 20:33:23
阅读次数:
222
在SQL Server 2012,有2个校验函数:check_sum 和 binary_check,在一些Data Table中,如果存在多个字符串字段,并且字符串非常长,在比较字符串是否相同时,使用校验函数,将其转换成 int 类型,能够提高数据比较的速度。但是不要忽略 CSDN 官方文档的警告( ...
分类:
其他好文 时间:
2017-04-30 14:01:37
阅读次数:
134