数据结构
文章平均质量分 67
QAQ平
这个作者很懒,什么都没留下…
展开
-
布隆过滤器--位图
概念理解参考:位图Bitmap及其Java实现 - 知乎举个例子,如下图,如果我们想要存放 0,2,4,5,10,11,12,14,15这几个数字,如果采用普通存储方式,若4位表示一个数字,这9个数字需要4*9=36位,至少36位才能存储这些数据。 如果采用位图的方式,只需要上图的16位就…https://zhuanlan.zhihu.com/p/94818952 todo........原创 2021-11-22 17:51:13 · 381 阅读 · 0 评论 -
动态规划-Dynamic Programming
算法-动态规划 Dynamic Programming--从菜鸟到老鸟_有图有真相-CSDN博客_动态规划https://hanking.blog.csdn.net/article/details/75193592?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link&depth_1-utm_sour原创 2021-11-17 15:47:53 · 382 阅读 · 0 评论 -
字符串匹配算法
BF 算法BF 算法中的 BF 是 Brute Force 的缩写,中文叫作暴力匹配算法,也叫朴素匹配算法。从名字可以看出,这种算法的字符串匹配方式很“暴力”,当然也就会比较简单、好懂,但相应的性能也不高。todoRK 算法RK 算法的全称叫 Rabin-Karp 算法,是由它的两位发明者 Rabin 和 Karp 的名字来命名的。这个算法理解起来也不是很难。我个人觉得,它其实就是刚刚讲的 BF 算法的升级版todoBM 算法对于工业级的软件开发来说,我们希望算法尽可能的高效,并原创 2021-11-09 10:21:35 · 80 阅读 · 0 评论 -
图-深度和广度优先搜索-最短路径算法-java实现
什么是“搜索”算法?我们知道,算法是作用于具体数据结构之上的,深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构的。这是因为,图这种数据结构的表达能力很强,大部分涉及搜索的场景都可以抽象成“图”。图上的搜索算法,最直接的理解就是,在图中找出从一个顶点出发,到另一个顶点的路径。具体方法有很多,比如今天要讲的两种最简单、最“暴力”的深度优先、广度优先搜索,还有 A*、IDA* 等启发式搜索算法。广度优先搜索(BFS)广度优先搜索(Breadth-First-Search),我们平常都简原创 2021-11-05 19:22:13 · 14781 阅读 · 5 评论 -
一致性哈希算法
在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那么,我们先来描述一下这个经典的分布式缓存的应用场景。场景描述假设,我们有三台缓存服务器,用于缓存图片,我们为这三台缓存服务器编号为0号、1号、2号,现在,有3万张图片需要缓存,我们希望这些图片被均匀的缓存到这3台服务器上,以便它们能够分摊缓存的压力。也就是说,我们希望每台服务器能够缓存1万张左右的图片,那么,我们应该怎样做呢?如果我们没有任何规原创 2021-11-04 10:41:57 · 662 阅读 · 1 评论