首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构与算法
jxwu
创建于2022-09-02
订阅专栏
数据结构与算法
等 14 人订阅
共9篇文章
创建于2022-09-02
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
一种临时随机短号的生成算法
短号,即用一个比较短的字符串映射某个比较长的字符串,使得更加易于人们写入。比如一个会议号的唯一ID是一个雪花算法生成的ID,如1077144667185860608,对于用户来说很难手动输入。
Golang实现延迟队列(DelayQueue)
延迟队列是一种特殊的队列,元素入队时需要指定到期时间,出队的元素一定是已经到期的,而且早到期的元素最先出队,也就是队列里面的元素是按照到期时间排序的,添加元素和获取元素的时间复杂度是O(log(n))
如何实现一个支持O(log(n))随机删除元素的堆
堆是一种非常常用的数据结构,它能够支持在O(1)的时间复杂度获取到最大值(或最小值)。然而堆它有一个缺点,它没办法快速的定位一个元素,因此它也没办法快速删除一个堆中元素。因此需要一种能随机删除的堆。
近似LRU(NearlyLRU):一种基于随机采样的缓存淘汰策略
Redis里面有很多种缓存淘汰策略,其中有一种就是LRU,但是它需要额外的空间。而Redis的作者则使用了一种基于随机采样的近似LRU(NearlyLRU),它在Redis里面是不需要花费额外空间的。
W-TinyLFU缓存淘汰策略
W-TinyLFU是一种非常优秀的缓存淘汰策略,它综合的考虑了现实场景中可能会遇到的各种问题,具有能够提高缓存命中率的准入策略,带有LFU的基于频率的优点,还具备元素保鲜机制,同时还能保证低空间消耗。
CountMinSketch计数器:基于布隆过滤器思想的近似计数器
CountMinSketch是一种计数器,用来统计一个元素的计数,它能够以一个非常小的空间统计大量元素的计数,同时保证高的性能及准确性。
布隆过滤器:一种低空间成本的判断元素是否存在的方式
布隆过滤器(BloomFilter)是一种用于判断元素是否存在的方式,它的空间成本非常小,速度也很快。它一秒能够进行上百万次操作,并且1亿数据在误判率1%的情况下,只需要114MB内存。
数据库加密字段如何进行模糊查询
对于一些敏感字段,比如手机号码、身份证、地址、银行卡号等,我们在存放进数据库前,可能需要对其进行加密。大部分情况下,我们只需支持等值查询。但是如果需要支持模糊查询,那么整段内容整体加密就不具备这个能力
哈夫曼编码原理及其在HTTP2中的使用
哈夫曼编码就是基于哈夫曼树,这是一个经典的压缩算法,可以根据权重给某个值分配一个01串,用这个较短的01串表达这个较长的值,权重越高的值的01串会越短,从而提高压缩率。