![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 80
feilengcui008
这个作者很懒,什么都没留下…
展开
-
Distributed Systems-2PC和3PC
这篇文章主要讨论下解决分布式一致性问题的两种算法:两阶段提交(2PC)和三阶段提交(3PC)。之前感觉2PC和3PC的流程挺简单的,但是真正仔细去分析过后,才发现很多的细节。而这些细节对理解Paxos,Raft,Viewstamp Replication,Atomic Broadcast等其他更复杂的一致性算法有很大的作用。所以才在此记录一下这些细节,尤其是从工程实现的角度来思考。具体的术语,像co原创 2016-01-21 20:35:31 · 1133 阅读 · 2 评论 -
KMP简单证明
KMP第一遍不是特别容易理解,所以就琢磨着给出一个证明,来加深理解,所以就想出了下面这么个不是很正规和形式化的证明。关于KMP算法的流程可以搜索相关文章,比如这篇挺不错的。前提假设:目标文本串T的长度为n,模式串P的长度为m,A为所谓的next数组,i为在模式串的第i个位置匹配失败。 需要证明的问题:对于形如A B X1 X2… A B Y1 Y2… A B的模式串,为什么可以将模式串直接移到最后一原创 2016-03-03 17:45:28 · 1133 阅读 · 1 评论 -
一道自动机的小题
题目描述:0和1构成的二进制数,求被3除的余数 改变题目:0和1构成的十进制数,求被3除的余数 (对于改变的题目,可以求1的个数,再%3就行了,这里只是用来和二进制情况做个对比) 题解: 假设二进制数表示如下 An−1An−1An−3...A0A_{n-1}A_{n-1}A_{n-3}...A_{0} 写成十进制为 S=An−1∗2n−1+An−2∗2n−2...+A0S=A_{n-1}*原创 2015-05-26 23:29:34 · 698 阅读 · 0 评论 -
Distributed Systems-再谈2PC和3PC
之前的一篇文章感觉分析得不太完整,所以再记录点东西。故障组合情况对于多个节点且每个节点有多个可能状态参与的分布式系统来说,假设在有限的某个时间点上发生故障的概率为0,对于coordinator(proposer/master/leader等),在发送接收的一轮交互中,可能在发送消息前(t < t1),发送部分消息(t1 < t < t2),发送所有消息后并且接收消息前(t2 < t < t3),接收原创 2016-01-22 16:24:14 · 770 阅读 · 0 评论