随笔分类 - alorigam
常用算法 & 数据结构
摘要:DFA(Deterministic Finite Automaton,即确定有穷自动机。其原理为:有一个有限状态集合和一些从一个状态通向另一个状态的边,每条边上标记有一个符号,其中一个状态是初态,某些状态是终态。但不同于不确定的有限自动机,DFA中不会有从同一状态出发的两条边标志有相同的符号。 举例
阅读全文
摘要:生成一个随机的 ID 有很多种做法,比如说 GUID 和 UUID。但如果想要有序,可以插入数据库中做数字主键,那就有了雪花算法。雪花算法得到的是个比较大的数字,比较大,而 JS 中 Number 类型的最大值 ,那这样运算会溢出。所幸的是网上有很多 BigInt 的类库,现在 ES10 标准就包括
阅读全文
摘要:LRU 是 Least Recently Used 的缩写,即最近最少使用,是一种常用的页面置换算法,选择内存中最近最久未使用的页面予以淘汰。 可用的 NodeJS 库见 "node lru cache" 然怎么使用 JS 简单写一个?类似的题目见 "LeetCode 146 LRU 缓存机制" ,
阅读全文
摘要:代码 在数据集之中,选择一个元素作为"基准"(pivot),这里取数组中间的值。 所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。 对"基准"左边和右边的两个子集,递归重复第一步和第二步,直到所有子集只剩下0个或者1个元素为止。 最后返回左边子集,基准,右
阅读全文

浙公网安备 33010602011771号