获得徽章 0
用1MB内存判断10亿数据是否存在,这个数据结构太狠了!

场景:判断用户名是否已注册
- 哈希表:1亿用户 = 1.6GB内存
- 布隆过滤器:1亿用户 = 1MB内存
- 空间节省:99.9%!

核心原理:
用3-7个哈希函数,把数据映射到位数组的几个位置。
查询时,只要有一个位置是0,就一定不存在!
所有位置是1,则"可能存在"(有1%误判率)

为什么接受误判?
- 拦截100万个恶意IP,误拦1万个好用户
- 这个代价,完全值得!

实际应用:
✅ Chrome密码泄露检测
✅ Redis缓存穿透防护
✅ 垃圾邮件黑名单
✅ 爬虫URL去重
✅ 比特币SPV节点

文章详情:juejin.cn

#算法 #前端 #JavaScript #Redis #数据结构
展开
2
线段树这个数据结构,我之前一直觉得是"竞赛专用",直到我在做一个实时数据统计功能时,才发现它有多香!

场景:股票软件需要实时显示任意时间段的最高价/最低价/平均价

❌ 朴素做法:每次遍历区间 O(n)
✅ 线段树:查询和更新都是 O(log n)

最牛的是"懒标记"技术,区间更新不用逐个修改,延迟到查询时才下传,性能直接起飞!

花了3天写的深度解析,1100多行,从原理到实战全都有:
👉 juejin.cn

完整代码已开源:github.com

#算法 #数据结构 #前端
展开
评论
标题:手写A*算法后,我终于理解了魔兽争霸的寻路原理

正文:
花了3天实现A*寻路算法,才发现游戏单位的智能移动这么有意思。

核心就一个公式:f(n) = g(n) + h(n)
- g(n):已经走过的路
- h(n):估计还剩多少路
- f(n):总代价,越小越优先

比Dijkstra快20倍,因为有"方向感"!


完整实现已开源:github.com

#算法 #前端 #JavaScript
展开
费曼学习法于2026-04-13 09:25发布的图片
4
"最近在用 Rust 写 Wasm 优化前端算法,发现一个奇怪的现象:同样的快速排序,在 Chrome 和 Firefox 上性能差了 30%。有人遇到过吗?详细分析和源码我整理成了一篇文章,求大佬指点迷津🙏"
3
下一页
个人成就
文章被点赞 1
文章被阅读 979
掘力值 270
收藏集
0
关注标签
23
加入于