算法
Coffee-84
这个作者很懒,什么都没留下…
展开
-
Hash算法解决冲突的方法
Hash算法解决冲突的方法一般有以下几种常用的解决方法 1, 开放定址法: 所谓的开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入 公式为:fi(key) = (f(key)+di) MOD m (di=1,2,3,……,m-1) ※ 用开放定址法解决冲突的做法是:当冲突发生时,使用某种探测技术在散列表中形成一个探测序列。沿此序...转载 2018-12-28 18:31:25 · 222 阅读 · 0 评论 -
如何快速尝出毒酒?
问题国王有一百桶酒,比自己的生命还重要。结果有一天其中一桶被投了慢性毒药,喝了以后半个小时以后就会死掉。国王大怒,命令玩忽职守的侍卫去试毒。酒不能被混合,一个侍卫可以喝多桶酒,一桶酒也可以由多个侍卫喝,怎么样才能用最少的侍卫、在最短的时间知道哪桶是毒酒。方案一最简单的方案,是让每个人试一桶酒,用时30分钟,就可以判断出哪一桶酒有毒。这样的解法,答案是:99个人。方案二从二维...转载 2019-01-07 14:20:40 · 612 阅读 · 0 评论 -
雪花算法生成长整型ID工具类SnowflakeUtil
JS语言不支持15位以上的长整型,该工具使用与否要有取舍。public class SnowflakeUtil { /** 开始时间截 (2015-01-01) */ private final static long TWEPOCH = 1420041600000L; /** 工作机器ID(0~31) */ private final static long WORKER_I...原创 2018-12-29 10:42:52 · 4830 阅读 · 1 评论 -
压缩图片工具类ZipImageUtil
四个常量配置参数可以按需求做相应调整。public class ZipImageUtil { private final static int FILE_SIZE_LIMIT = 100 * 1024; private final static int STREAM_SIZE_LIMIT = 100 * 1024; private final static do...原创 2018-12-29 10:32:41 · 408 阅读 · 0 评论 -
BitMap位图与海量数据的理解
1. Bit Map算法简介 来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 2、 Bit Map的基本思想 我们先来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复)。...转载 2019-01-03 12:38:50 · 242 阅读 · 0 评论 -
动画:什么是散列表?
散列表散列表( Hash table,也叫哈希表),是根据键( Key )而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。散列函数散列函数,顾名思义,它是一个函数。如果把它定义成 hash(key) ,其中 key 表示元素的键值,则 hash...转载 2019-01-14 10:57:12 · 324 阅读 · 0 评论