• <sup id="mk476"></sup>
    <dl id="mk476"></dl>
  • <progress id="mk476"><tr id="mk476"></tr></progress>
    <div id="mk476"><tr id="mk476"></tr></div>
    <sup id="mk476"><ins id="mk476"></ins></sup>
  • <progress id="mk476"></progress>
    <div id="mk476"></div>
    <div id="mk476"><tr id="mk476"></tr></div>
  • <div id="mk476"></div>
    <dl id="mk476"><s id="mk476"></s></dl><dl id="mk476"></dl><div id="mk476"></div>
  • <div id="mk476"></div>
    <dl id="mk476"><ins id="mk476"></ins></dl>
    代码改变世界

    [置顶]分布式系统理论 - 从放弃到入门

    2017-01-01 02:45 by bangerlee, 5793 阅读, 收藏, 编辑
    摘要: 随承载用户数量的增加和容灾的需要,越来越多互联网后台系统从单机模式切换到分布式集群。回顾自己毕业五年来的工作内容,同样有这样的转变。 毕业头两年负责维护运行在刀片机上的业务,在机房里拔插单板的日子是我逝去的青春。设备之间通过VCS组成冷备,但即使有双机软件保护,宕机、网络丢包等问题发生时业务仍会受影阅读全文

    算法与数据结构基础 - 堆栈(Stack)

    2019-07-05 15:52 by bangerlee, 25 阅读, 收藏, 编辑
    摘要: 堆?#25442;?#30784; 堆栈(stack)具有“后进先出”的特性,利用这个特性我们可以用堆栈来解决这样一类问题:后续的输入会影响到前面的阶段?#36234;?#26524;。线性地遍历输入并用stack处理,这类问题较简单,求解时间复杂度一般为O(n)。 相关LeetCode题: 13. Roman to Integer 题解 20. V阅读全文

    算法与数据结构基础 - 队列(Queue)

    2019-07-03 17:24 by bangerlee, 15 阅读, 收藏, 编辑
    摘要: 队列基础 队列具有“先进先出”的特点,用这个特点我们可以用它来处理时间序列相关或先后次序相关的问题,例如 LeetCode题目 933. Number of Recent Calls,时间复杂度O(1): 尝试用queue求解这样一个问题:假设某服务对单个IP限制访问1000次/min,输入为ip、阅读全文

    算法与数据结构基础 - 二叉查找树(Binary Search Tree)

    2019-06-03 14:52 by bangerlee, 74 阅读, 收藏, 编辑
    摘要: 二叉查找树基础 二叉查找树(BST)满足这样的?#28798;剩?#25110;是一颗空树?#25442;?#24038;子树节点值小于根节点值、右子树节点值大于根节点值,左右子树也分别满足这个?#28798;省?利用这个?#28798;剩?#21487;以迭代(iterative)或递归(recursive)地用O(lgN)的时间复杂度在二叉查找树中进行值查找。 相关LeetCode题阅读全文

    算法与数据结构基础 - ?#20540;?#26641;(Trie)

    2019-05-29 18:15 by bangerlee, 38 阅读, 收藏, 编辑
    摘要: Trie基础 Trie?#20540;?#26641;又叫前缀树(prefix tree),用以较快速地进行单词或前缀查询,Trie节点结构如下: 插入单词的方法如下: 假如有单词序列 ["a", "to", "tea", "ted", "ten", "i", "in", "inn"],则完成插入后有如下结构: Trie的r阅读全文

    算法与数据结构基础 - 合并查找(Union Find)

    2019-04-20 15:14 by bangerlee, 167 阅读, 收藏, 编辑
    摘要: Union Find算法基础 Union Find算法用于处理集?#31995;?#21512;并和查询问题,其定义了两个用于并查集的操作: Find: 确定元素属于哪一个子集,或判断两个元素是否属于同一子集 Union: 将两个子集合并为一个子集 并查集是一种树形的数据结构,其可用数组或unordered_map表示: F阅读全文

    算法与数据结构基础 - 滑动窗口(Sliding Window)

    2019-04-18 11:13 by bangerlee, 117 阅读, 收藏, 编辑
    摘要: 滑动窗口基础 滑动窗口常用来解决求字符串子串问题,借助map和计数器,其能在O(n)时间复杂度求子串问题。滑动窗口和双指针(Two pointers)有些类似,可以理解为往同一个?#36739;?#36208;的双指针。常用滑动窗口代码框架如下: 以"pwwkew"为例,以上滑动窗口执行过程图示如下: 相关LeetCode题阅读全文

    算法与数据结构基础 - 拓扑排序(Topological Sort)

    2019-04-16 11:38 by bangerlee, 204 阅读, 收藏, 编辑
    摘要: 拓扑排序基础 拓扑排序用于解决有向无环图(DAG,Directed Acyclic Graph)按依赖关系排线性序列问题,直白地?#21040;?#20915;这样的问题:有一组数据,其中一些数据依赖其他,问能否按依赖关系排序(被依赖的排在前面),或给出排序结果。 最常用解决拓扑排序问题的方法是Kahn算法,步骤可以概括为:阅读全文

    算法与数据结构基础 - 位运算(Bit Manipulation)

    2019-04-15 20:57 by bangerlee, 148 阅读, 收藏, 编辑
    摘要: 位运算基础 说?#25509;?&)、或(|)、非(~)、异或(^)、位移等位运算,就得说到位运算的各?#21046;?#28139;巧技,下面分运算符说明。 1. 与(&) 计算式 a&b,a、b各位中同为 1 才为 1,否则为0,a&1和a%2效果一样;来看两道典型的题目,第1道计算整数二进制中 1 的位数: n=n&(n-1)代表阅读全文

    算法与数据结构基础 - 回溯(Backtracking)

    2019-04-13 21:04 by bangerlee, 68 阅读, 收藏, 编辑
    摘要: 回溯基础 先看一个使用回溯方法求集合子集的例子(78. Subsets),以下代码基本说明了回溯使用的基本框架: 即回溯方法主要有以下四个步骤: 一些情况下需要对数据进行预先处理,或在第2步直接检查以决定是否抛弃当前路径,以避免过多地递归、带来时间损耗。换而?#28798;?#19981;满足条件的路径越早抛弃越好。 理解阅读全文

    算法与数据结构基础 - 折半查找(Binary Search)

    2019-04-12 11:39 by bangerlee, 181 阅读, 收藏, 编辑
    摘要: Binary Search基础 应用于已排序的数据查找其中特定值,是折半查找最常的应用场景。相比线性查找(Linear Search),其时间复杂度减少到O(lgn)。算法基本框架如下: 以上查找?#27573;?#30340;上下限 i 和 j 代表索引,算法过程可视化:Binary Search,STL中有序区间函数up阅读全文
    江苏11选5软件 现在做什么生意赚钱 单双中特是什么意思 秒速时时彩开奖的结果 河南快3遗漏统计 中国竞彩网竞彩胜平 卖码报 河南彩票幸运武林 2013中超积分榜 江西多乐彩技巧 高频彩票技巧 幸运28app软件 甘肃十一选五开奖号历史今天 体彩p3大老人预测今天 腾讯分分彩输死多少人 贵州快3开奖号