首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法
订阅
cqlray
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
布隆过滤器,不难
布隆过滤器(英语:Bloom Filter)是 1970 年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。主要用于判断一个元素是否在一个集合中。 通常我们会遇到很多要判断一个元素是否在某个集合中的业务场景,一般想到的是将集合中所有元素保存起来,然后通过比较确…
漫画:什么是红黑树?
1.左子树上所有结点的值均小于或等于它的根结点的值。 2.右子树上所有结点的值均大于或等于它的根结点的值。 3.左、右子树也分别为二叉排序树。 接下来我们依次插入如下五个节点:7,6,5,4,3。依照二叉查找树的特性,结果会变成什么样呢? 1.节点是红色或黑色。 2.根节点是黑…
深入分析 JDK8 中 HashMap 的原理、实现和优化
HashMap 可以说是使用频率最高的处理键值映射的数据结构,它不保证插入顺序,允许插入 null 的键和值。本文采用 JDK8 中的源码,深入分析 HashMap 的原理、实现和优化。 1. 基本结构 哈希桶数组会在首次使用时初始化,默认大小是 16,并根据需要调整大小,且长…
压缩为王-阿里第五届中间件复赛总结
翻了一下公众号已经快两个月没有认真的写一篇文章了,这段时间主要是再忙阿里中间件的复赛,再加上前段时间团队旅游,所以才拖到现在开始写复赛的总结。首先先贴下成绩吧: 对接口层而言,消息包括两个字段,一个是业务字段a,一个是时间戳,以及一个byte数组消息体。实际存储格式用户自己定义…
九种排序算法的可视化及比较
排序是工作和生活中非常常见的一个问题。现在已经有比较成熟的排序技术,被广泛地应用于各种程序语言或数据库中。不同的排序算法有不同的性能和适用场景,下面的视频对比了 9 种排序算法的性能表现。排序算法依次为选择排序、希尔排序、插入排序、归并排序、快速排序、堆排序、冒泡排序、梳排序、…
漫画:什么是动态规划?
有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。 比如,每次走1级台阶,一共走10步,这是其中一种走法。我们可以简写成 1,1,1,1,1,1,1,1,1,1。 再比如,每次走2级台阶,一共走5步,这是另一种走法。我…
Android 上为啥会有65536的限制,解释下原因
这往往是面试中关于65536方向的第一个问题。
看图轻松理解数据结构与算法系列(NoSQL存储-LSM树)
推出一个新系列,《看图轻松理解数据结构和算法》,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握。本系列包括各种堆、各种队列、各种列表、各种树、各种图、各种排序等等几十篇的样子。 LSM树,即日志结构合并树(Log-Structured Merge-Tree)。其实它…
如何判断一个元素在亿级数据中是否存在?
需求其实很清晰,只是要判断一个数据是否存在即可。 但这里有一个比较重要的前提:非常庞大的数据。 我想大多数想到的都是用 HashMap 来存放数据,因为它的写入查询的效率都比较高。 写入和判断元素是否存在都有对应的 API,所以实现起来也比较简单。 为了方便调试加入了 GC 日…