当比较两个字符串是否相等的时候,最简单的方法是逐个字母去比较,但是有时候这样会太慢,如果我们将每个字符对应于一个26进制的数字,这样的比较的复杂度就是O(1)。但是问题也来了,如果字符串比较长,我们对应的数字也就特别大,比long long 的范围还大怎么办? 解决办法是对哈希值取模,明显这样可能会 ...
分类:
其他好文 时间:
2018-12-31 15:44:56
阅读次数:
185
处理字符串哈希时,使用了ELFHash函数,以上是函数的实现,这个算法可以了解一下。 ...
分类:
编程语言 时间:
2018-12-29 21:00:42
阅读次数:
125
Redis是什么? Redis(REmote DIctionary Server)是一个key-value存储系统,能够高速存储数据,value值可以为字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型,Redis将数据库完全保存在内存中,具有以下优点: Redis是一个 ...
分类:
其他好文 时间:
2018-12-20 00:58:26
阅读次数:
204
1、redis是什么 redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。 2、支持的语言 3、redis的应用场景有哪些 1、会话 ...
分类:
其他好文 时间:
2018-12-18 12:10:09
阅读次数:
149
Socket Socket类继承自EventEmitter。覆写了emit方法,保留了EventEmitter的其他方法 socket.id 会话的唯一标识符,来自于底层的 socket.rooms 标识此客户端所在房间的字符串哈希值,按房间名称编制索引 socket.client 对底层Clien ...
今天我们来看一下redis的数据类型。既然redis的键值对可以保存不同类型的值,那么很自然就需要对键值对的类型进行检查以及多态处理。下面我们将对redis所使用的对象系统进行了解,并分别观察字符串、哈希表、列表、集合和有序集类型的底层实现。 3.1 对象处理机制 在redis的命令中,用于对键进行 ...
分类:
其他好文 时间:
2018-12-05 20:28:40
阅读次数:
251
一、概念:redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。 二、redis的应用场景有哪些 1、会话缓存(最常用) 2、消息队列 ...
分类:
其他好文 时间:
2018-11-14 16:33:20
阅读次数:
218
取进制数为131,每次$O(N)$时间预处理出幂次和母串的滚动哈希值。 代码如下 cpp include using namespace std; const int maxn=1e6+10; const int base=131; char s1[maxn],s2[maxn]; unsigned ...
分类:
其他好文 时间:
2018-10-24 22:04:41
阅读次数:
128
转自:https://www.cnblogs.com/adinosaur/p/6002978.html 问题描述 字符串匹配问题可以归纳为如下的问题:在长度为n的文本T[1...n]中,查找一个长度为m的模式P[1...m]。并且假设T,P中的元素都来自一个有限字母集合?。如果存在位移s,其中0≤s ...
分类:
编程语言 时间:
2018-10-18 17:00:54
阅读次数:
156
字符串小朋友结交了很多好朋友,他们大多都很乐于助人,帮助字符串解决他的问题 一.字符串哈希 字符串渴望和整数交好朋友,哈希是一个连接字符串和整数之间的媒介,他可以把字符串和整数相互匹配。哈希是多少?当然这个是要做题的人自己来设置的。 求一个字符串前缀哈希的公式是:hash【i】=(1ll *hash ...
分类:
其他好文 时间:
2018-10-18 10:53:46
阅读次数:
141