编程开发使用与运算优化对2^n数的取模 适用场景:对2的幂进行取模。 代码 这是一个来自coolshell的代码 代码本身很简单,就是遍历一个整型数组,每16个值自增1,当遍历到最后一个值,就重头开始。因为要从头开始,所以在遍历的循环中,需... 11月30日 发表评论 阅读全文
Linux I/O 调度层总结 I/O调度算法,也称I/O调度策略。 前言 现代计算机体系中,硬盘是数据存储的持久化介质,硬盘的访问速度相比内存存在数量级的差距,因此有效的调度能更好利用资源,优化响应。 和CPU调度算法相似,调度的... 10月25日 操作系统 发表评论 阅读全文
单向链表翻转实现 链表管理会用到指针,指针是非常灵活的数据结构,但也容易掉坑里。 翻转链表,主要是要考虑好它的结构。可以画图来帮助思考。然后就是注意一些变量的变化。 #include <string> #i... 09月18日 编程开发 发表评论 阅读全文
一个看上去是bug却是正确插入排序变种 看到一个有意思的排序算法,一开始看上去像是冒泡排序写错了。但实际上却是正确的排序算法,做个分析。文章链接 本质上是一个插入排序算法 算法 算法介绍 未知排序算法 不知道这个什么语言,但逻辑是清楚的。 ... 10月16日 编程开发 发表评论 阅读全文
BloomFilter(布隆过滤器)学习笔记 看到一个集合查找的面试题,想起这个算法。 前言 一个面试题 现在有一个非常庞大的数据,假设全是 int 类型。现在我给你一个数,你需要告诉我它是否存在其中(尽量高效)。 如果int是32位或以下,这个... 09月25日 编程开发 发表评论 阅读全文
分布式系统使用坐标系分析Paxos算法 使用时间和提案编号组成的坐标系来分析Paxos算法,希望能为你带来更直观的感受,使Paxos算法更加易懂。 前言 建议先阅读Paxos算法学习笔记。然后将算法流程代入图中,分析算法在两个阶段中可能发生... 08月19日 发表评论 阅读全文
Paxos算法的数学归纳法证明 本文是对Paxos算法的证明,如有错误请指正。 预备知识 表面上看,Paxos像是一个Quorum算法再加上二阶段提交(2PC)。但并非是的二者相加。 相关笔记 Quorum算法学习笔记 数学归纳法 ... 08月15日 分布式系统 发表评论 阅读全文
燃烧木棍确定时间的面试题 微博上看到的一道面试题,思维类的题目。 题目 一屋子的长短粗细不同密度不均的木棍儿,每根烧完都恰好需要1个小时。你有打火机,让你在屋子里想办法45分钟后准时出来,该怎么办。 点击查看答案 分析 要实现... 01月21日 编程开发 发表评论 阅读全文
微软编程之美2014初赛第一场解题报告 题目1 : 焦距 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 一般来说,我们采用针孔相机模型,也就是认为它用到的是小孔成像原理。 在相机坐标系下,一般来说,我们用到的单... 04月19日 编程开发 发表评论 阅读全文