并查集 发表于 2019-01-19 | 更新于: 2025-12-05 字数统计: 420 并查集什么是并查集并查集的核心是parent指针,一个结点可以找到自己所属的结点。从而把结点归类。有两个核心操作: Union(用来合并两个并查集) Find(用于查找一个结点的parent) 所以并查集可以叫做:union-find data structure。 阅读全文 »
KMP算法 发表于 2019-01-17 | 更新于: 2025-12-05 字数统计: 1,908 KMP 算法KMP 算法用来在一个文本中查找模式串,如下图所示: 文本匹配例子: 我们把上面那个长字符串的称为文本,下面这个短的称为模式串。我们的目的是查看ABADABAD是否出现在文本中。 不必要的比较: 跳过不必要的比较: KMP 算法的核心作用在于帮助模式串顺利的跳过很多不必要的比较(模式串没有任何前缀与文本匹配),直接后移到一部分前缀已经匹配的位置,开始下一次的比较。更准确的讲是移动到:最长真前后缀匹配的位置,如上图所示的ABA。 阅读全文 »
蓄水池算法 发表于 2019-01-15 | 更新于: 2025-12-05 字数统计: 852 蓄水池算法(Reservoir Sampling)这个算法真的很奇妙,它的核心是一个数学证明。外延,或者说应用场景是: $C_n^k$,也就是从大小为 n 的样本集中随机取 k 个不同的样本 流式数据,或者说无法直接根据索引拿到数据(更加不可能一遍加载到内存) 阅读全文 »
$\lim\limits_{x\rightarrow 0} \frac{\sin x}{x} = 1$的证明 发表于 2019-01-07 | 更新于: 2025-12-05 字数统计: 393 高数中的第一个证明,可能就是这个$\lim\limits_{x\rightarrow 0} \frac{\sin x}{x} = 1$的证明了。下面给出这个极限的证明,用到了解析几何(作图法)。 阅读全文 »
精通一款编辑器之sublime text 3 发表于 2018-11-04 | 更新于: 2025-12-05 字数统计: 1,031 编辑器常用功能 格式化代码:格式化代码可以让你不用管代码的格式,可以放肆的写程序,你可以少敲很多空格,不用关心代码的格式问题,机器给出的代码格式风格统一且漂亮,一键解决你的格式问题,真是提高码代码效率的非常重要的功能。 查找文件:查找文件是在集成开发的时候非常重要的功能,当文件多起来的时候,快速定位到文件可以节省很多时间,甚至有时候文件实在太多,你只能通过查找的方式找到那个文件。 正则全文件查找和替换:轻松让你更改全局变量和配置,这是一个必须的功能,没有它简直无法想象工作量有多大。 代码收缩和扩展:代码太长怎么办,收缩和扩展啊。 阅读全文 »