自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沈小黑的博客

沈小黑的菜园 http://www.shenjianan.net

  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 基数统计:从Linear Counting到Hyper LogLog

基数统计:从Linear Counting到Hyper LogLog应用场景Linear Counting主要步骤基数公式推导误差估计偏差标准差长度m的选择误差控制满桶控制结合两个限制条件确定a空间复杂度并集与交集问题LogLog Counting主要步骤粗糙估计分桶平均误差修正误差分析空间复杂度并集与交集问题Adaptive Counting主要改进HyperLogLog Counting主要改进调和平均数以减少离群值影响分段偏差修正欢迎来我的小站转转~~应用场景基数统计(Cardinality

2020-11-19 15:16:27 335

原创 共识算法Raft概论

Raft概论共识算法解决的问题Raft起源一切从Paxos说起难于理解没有提供工程实现细节Raft概览主要流程任期角色转换FollowerCandidateLeader数据结构日志结构节点状态选主流程触发条件投票请求Candidate发送投票请求Follower收到投票请求选举可能结果竞选成功其他节点先竞选成功超时无成功节点日志复制日志状态复制过程变更消息示例处理日志不一致处理未提交日志一致性证明成员变更过渡流程**新节点初始化****Leader下线**参考资料欢迎来我的小站转转~~分布式系统很大

2020-06-18 14:45:37 630

原创 Faiss向量召回引擎如何做到快速查找最近邻

Faiss向量召回引擎的索引结构 背景问题描述问题规模最近邻离线表向量量化(Vector Quantization)乘积量化PQ(Product Quantization)Quantization场景下的距离计算SDCADCIVFADC粗糙量化(coarse quantization)+残差量化索引结构索引过程搜索过程实验效果优化总结背景Faiss是Facebook开源的向量召回引擎,用于寻找...

2020-04-26 14:34:43 3073

原创 AbstractQueuedSynchronizer内部机制_以ReentrantLock为例解析

(以下解析均以1.8代码为准)说到java中的锁,最常用的方法就包括ReentrantLock的lock和unlock方法。那么这两个方法是如何实现的呢 ?今天我们就来试着解析一下,顺便了解java concurrent包中非常关键的一个类:AbstractQueuedSynchronizer。以下是ReentrantLock中的lock与unlock方法:public void lock(...

2019-06-02 21:28:59 150

原创 再探排序

再探排序记得之前写过一篇关于快排的博客,当时只是写了一个快排的代码片段,加上简单的优化意见——当递归到一定规模的序列时使用插排提升效率、随机选取比较的元。那篇博客是在准备面试时看到网上一些资料而写的简单的笔记。最近在重新读《数据结构与算法分析》,这本书是大二时数据结构课的教材。记得当初上课没有用心学习,最后的成绩也算是勉勉强强八十几分。到现在,对于排序也就记得大体的思想,真正上手写代码却是漏洞百出。

2016-03-20 14:34:44 469

翻译 BigTable论文阅读-个人翻译

更多文章欢迎来沈小黑的菜园转转啦啦啦~~Bigtable是2005年谷歌的论文:《Bigtable: A Distributed Storage System for Structured Data》中介绍的一种分布式存储系统,后来被Hadoop社区实现为HBase。读懂这篇论文,那么理解HBase也就非常容易了。本篇博客略去了性能评估、API和应用实例的部分,只讲比较关键的设计与机制部分。这篇论

2016-01-15 15:47:51 2102 1

原创 Ruby元编程-Week-5

Kernel#eval我们已经知道instance_eval和class_eval,现在接触*eval的第三个成员——eval方法。

2016-01-09 14:25:30 347

原创 Ruby元编程-Week-4

即将走进”Ruby对象模型最深暗的角落”…和Java不同,在Ruby中,定义类实际上就是在运行代码,这种思想催生了1、可以修改类的类宏 2、可以在其他方法前后封装额外代码的环绕别名。当然,因为类不过是增强的模块,所以这些知识也可以应用于模块。当前类方法所属判断是依靠定义方法的所在self判断的,所以对于父类定义的方法,即使在子类中运行使得m2定义语句得到运行,m2依然属于

2016-01-09 14:20:15 387

原创 Ruby元编程-Week-3

代码块块可以用来控制作用域,它只是Ruby中“可调用对象”的一种,还有其他的可调用对象,比如proc和lambda。在这一章将会学习怎样利用这些对象来进行元编程。

2016-01-09 12:57:29 330

原创 Ruby元编程-Week-2

在星期二,书中给出了一个关于包装老系统接口造成代码冗余的例子。下面是这个例子,它贯穿了整个章节,集中体现了Ruby道路的优越性+_+

2016-01-09 12:52:08 302

原创 Ruby元编程-Week-1

说是Ruby元编程,是打算写下读《Ruby元编程》的一些笔记,这是第一周~

2016-01-09 12:45:04 439

原创 快速排序算法小结

很久之前的博客,搬迁而来

2016-01-09 12:34:13 327

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除