自己没想出来, 代码来自别人的博客, 但是找不到出处了… 代码实现 int longestSubstring(string str) { //利用哈希的思想,key是每一个字符,value是其对应的下标 // 存储上一个重复字符的位置 int* lastPosition = new int[256]; //初始化,首字符之前没有与其重复的字符,都为-1 ... 作者:weixin_36888577 发表于 2019/04/17 16:46:01 原文链接 https://blog.csdn.net/weixin_36888577/article/details/89359385 阅读:20 继续阅读 >>


吕子健 19/04/17 16:46:01
本篇,主要是哈希表有关的代码实现: 哈希表的创建 作者:shengshengxiaowang 发表于 2019/03/02 12:42:47 原文链接 https://blog.csdn.net/shengshengxiaowang/article/details/85217638 阅读:32 继续阅读 >>


赖鑫 19/03/02 12:42:47
对于哈希算法,在我们平时的开发中,都是基本上拿来就用就行了,所以这节我们将重点放在如何使用,并不进行哈希算法的原理剖析和如何设计一个哈希算法的讲解. 什么是哈希算法? 将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值(散列值).一个优秀的哈希算法需要满足: 从哈希值不能反向推导出原始数据(所以哈希算法也叫单向哈希算法)... 作者:liushengxi_root 发表于 2019/01/21 14:51:16 原文链接 https://blog.csdn.net/liushengxi_root/article/details/86571193 阅读:52 继续阅读 >>


刘生玺 19/01/21 14:51:16
我们都知道,当我们要在一个集合中查找数据时,如果这个集合是顺序表且我们能确定要找的数据在顺序表中的位置的话,我们就能通过下标直接找到元素,这无非是我们要追求的最高效的查找策略!但是现实总是那么骨感,在大多数情况下,要在茫茫数据海洋中找某些关键信息,是不可能直接找到的。因为我们并不知道我们要找的数据与其所在位置之间是否存在某种关联。 所以我们在存储数据时,建立如同顺序表形式的可以按照下标进行查... 作者:qq_41681241 发表于 2018/12/26 23:43:15 原文链接 https://blog.csdn.net/qq_41681241/article/details/85270565 阅读:43 继续阅读 >>


畅柯 18/12/26 23:43:15
详解哈希表(上)什么是哈希表 本篇博客分为上下两部分,上半部分主要讲解哈希表的基础知识,下半部分主要是功能代码实现。 什么是哈希表 哈希,就是把任意长度的输入通过散列算法变换成固定长度的输出。 哈希表,是根据关键码值(Key value)而直接进行访问的数据结构。 通俗理解的说,就是通过一个函数算法,把需要存储的东西经过这个算法转化成一个更简单的东西(关键码值),然后利用这个关键码值进行查找,... 作者:shengshengxiaowang 发表于 2018/12/21 01:00:04 原文链接 https://blog.csdn.net/shengshengxiaowang/article/details/85143635 阅读:75 继续阅读 >>


赖鑫 18/12/21 01:00:04
哈希表的实现 何为哈希表 简单来说,哈希表是一种存储结构,它存储的数据是 key:value 类型的。通过空间换时间的方法来加快查询速度,具体思想是如下: 使用一个较大的一维数组存储value,这个数组为Array 实现一个哈希函数,使得hash(key)的值在上一步的一维数组下标范围内 如此,对于任意的key:value,使用hash(key),之后就可以知道value在数组中存储的下标,存取... 作者:baidu_35085676 发表于 2018/10/09 20:17:14 原文链接 https://blog.csdn.net/baidu_35085676/article/details/82980140 阅读:119 继续阅读 >>


李余通 18/10/09 20:17:14
标签(空格分隔): 分布式 数据结构与算法 注:本篇博客只是讲述了一致性哈希的思想,我们会在之后讲述分布式哈希表以及一致性哈希的一种实现(Chord算法)。 什么是一致性哈希算法? 引用自维基百科: 一致性哈希是一种特殊的哈希算法。在使用一致哈希算法后,哈希表槽位数(大小)的改变平均只需要对 K/n个关键字重新映射,其中K是关键字的数量,n是槽位数量。然而在传统的哈希表中,添加或... 作者:championhengyi 发表于 2018/06/26 21:06:58 原文链接 https://blog.csdn.net/championhengyi/article/details/80820959 阅读:816 继续阅读 >>


董恒毅 18/06/26 21:06:58
我们喜欢使用数组进行数据的查找,就是因为数组是一种“随机存取”的数据结构,我们根据数组的起始地址和数组元素的下标值就可以直接计算出每一个数组元素的存储位置,所以它的查找时间是O(1),而与数组的个数无关。 我们在这个思想的基础上,可以联想到,如果有一种数据结构,让我们在进行关键字查找的时候,不用在类似于数组这样的数据结构上进行遍历与比较就可以直接通过某种关系就可以查找到该关键字在数组中的位置,使其时间复杂度从O(n)降到O(1),那就可以大大提高查找的效率。我们的前辈们基于这种想法发明了散列方法,也就是哈希或关键字地址计算方法。 基本思想 我们试图寻找一种关系,可以根据我们要存储的关键字(key)然后使用这种关系直接计算出它应该存储的位置(p),一旦建立起这种关系,那么我们在之后一旦需要查找此关键字的话,只需计算此对应关系所产生的值就可以直接得到关键字所在的地址,那么查找的时间复杂度也就降到了O(1),我们将刚才所说的转换为一种数学关系: p(位置)= H(key) 其中H就是对应关系,我们称之为哈希函数,p被成为散列地址。因此,哈希 继续阅读 >>


董恒毅 17/06/01 22:12:17
什么是哈希表1.哈希表又称为散列表,是根据关键码值(Key value)而直接进行访问的数据结构,也就是说,它通过把关键码值映射到表中的一个位置来访问记录,以加快查找速度,这个映射函数叫做散列函数,存放记录的数组叫做散列表。  记录的存储位置=f(关键字) f是散列函数 这里的对应关系f称为散列函数,又称为哈希(Hash函数), 采用散列技术将记录存储在一块连续的存储空间,这块连续的存储空间称 作者:whoamiyang 发表于 2017/02/10 21:07:12 原文链接 https://blog.csdn.net/whoamiyang/article/details/54974084 阅读:499 继续阅读 >>


杨龙飞 17/02/10 21:07:12
一、哈希表 //哈希表 typedef struct dictht { //哈希表数组 dictEntry * […] 继续阅读 >>


常宫小戎 15/06/22 16:49:40