![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
NonCover
个人微信公众号: NonCover
个人博客:
http://lock2016.xyz
https://NonCover.github.io
展开
-
字符串hash用法
什么是字符串哈希 其实字符串hash和我们平时在代码中使用的hash都是一样的,原理都是将字符串通过一系列算法,将他映射成一个N进制,并且我们要保证不同的字符串得到的N进制一定是不同的。 为什么要有字符串hash这个东西?试想一下,我们对大量的单词进行对比比较,看哪些单词是重复出现过的,我们首先要将单词转换成ascii码,然后再比较他们的ascii码是否相等,这样会不会太浪费空间和时间,我们不妨先计算出这个单词的hash,然后再保存在内存里,这样我们比较两个单词,直接比较他们的字符串hash即可。至于如何计原创 2020-07-22 21:23:37 · 692 阅读 · 0 评论 -
线段树真的很好写
线段树是什么? 首先,应该明确线段树是一种数据结构,而不是算法,其次线段树能够很有效的解决数组上一些问题,所以在用线段树的时候,我们要明确在哪些地方用,以及用在什么地方。说得更加具体一点,例如说有一个数组[1, 3, 5, 7, 9],我们想要求下标从1到4的和,按照正常思路,我们遍历一遍数组,用一个变量来保存求和结果,只需要O(N)的时间复杂度就能够求出来了,这也许很快,但还不够快,至少在线段树面前,那么线段树能够做到什么程度?线段树能够只花费对数级的时间复杂度O(logN)求出来,至于如何做到,接着往下原创 2020-05-21 22:07:07 · 174 阅读 · 0 评论