算法设计
飞雪擦枪
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
synchronized与volatile关键字的区别
一、synchronized关键字1.1 synchronized如何实现内存可见性线程加锁时,将清空工作内存中共享变量的值,从而使用共享变量时需要从主内存中重新读取最新的值线程解锁时,必须把共享变量的最新值刷新到主内存中。1.2 synchronized线程执行互斥代码的六个过程获得互斥锁清空工作内存从主内存中拷贝变量的最新值到工作内存执行代码将更改后的共享变量的值刷新到主内存...原创 2020-03-02 17:49:09 · 744 阅读 · 0 评论 -
布隆过滤器的原理及实现
一、布隆过滤器的工作原理布隆过滤器本身是一个很长的二进制向量,既然是二进制的向量,那么显而易见的,存放的不是0,就是1。新建一个16位的布隆过滤器,如图有一个对象,我们通过方式一计算他的hash值,得到hash = 2方式二计算他的hash值,得到hash = 9方式三计算他的hash值,得到hash = 5通过三个方法计算得到三个数值,我们把这三个数值对应的布隆过滤器向量值改为1...原创 2020-03-02 17:39:42 · 1186 阅读 · 0 评论 -
算法专栏--递归实现“岛问题”
一、问题描述二、解决方案遍历整个二维表,当发现二维表中某个节点的值为1时,开始感染,执行 infect(int[][] m, int i, int j, int N, int M),i,j表示坐标,N,M表示二维表的边界排除掉不满足条件的节点,再次递归,直到感染了所有相邻的节点,此时感染掉的节点数值置为2,所以infect被触发了几次就说明有几个“岛”三、实现public class P...原创 2020-02-20 18:00:02 · 384 阅读 · 0 评论
分享