打赏

随笔分类 -  Alg

摘要:1. 问题定义 在保证$n$个元素被抽取的概率是相同的前提下,从总量为$n$的样本空间中随机抽取$k$个元素 2. 应用场景和一般算法 (1) 对于总数$n$值已知的情况 我们可以用最简单的随机数算法,生成范围在 $[1, n]$间的$k$个随机数。 (2) 对于总数$n$值提前未知的情况 一种方法 阅读全文
posted @ 2020-06-28 20:30 listenviolet 阅读(625) 评论(0) 推荐(0)
摘要:转载:https://blog.csdn.net/joylnwang/article/details/6801720 1. 算法原理 提到多模式匹配算法,就得说一下Wu-Manber算法,其在多模式匹配领域相较于Aho-Corasick算法,就好象在单模式匹配算法中BM算法相较于KMP算法一样,在绝 阅读全文
posted @ 2020-04-02 23:26 listenviolet 阅读(2181) 评论(0) 推荐(0)
摘要:转自:https://www.cnblogs.com/zhangtianq/p/5839909.html 1. 算法 KMP算法和BM算法,这两个算法在最坏情况下均具有线性的查找时间。但实际上,KMP算法并不比最简单的c库函数strstr()快多少,而BM算法虽然通常比KMP算法快,但BM算法也还不 阅读全文
posted @ 2020-03-30 22:43 listenviolet 阅读(426) 评论(0) 推荐(0)
摘要:1. 简介 AC自动机是一种多模匹配的文本匹配算法。 如果采用naive的方法,即依次比较文本串s中是否包含模式串p1, p2,...非常耗时。考虑到这些模式串中可能具有相同子串,可以利用已经比较过的那些模式串的一些信息,来优化效率。容易想到的一种方法是为这些模式串构建一个trie树,可以较好的利用 阅读全文
posted @ 2020-03-22 19:18 listenviolet 阅读(1257) 评论(0) 推荐(0)
摘要:实际场景: 网站的用户发了一些帖子S1, S2,...,网站就要审核一下这些帖子里有没有敏感词。 1. 如果网站想查一下帖子里有没有一个敏感词P,这个文本匹配要怎么做更快? 2. 如果网站想查一下帖子里有没有敏感词P1, P2,...,这个文本匹配要怎么做更快? 单模匹配与多模匹配 从以上的实际场景 阅读全文
posted @ 2020-03-15 22:43 listenviolet 阅读(1682) 评论(0) 推荐(0)
摘要:1. 暴力求解 如下图所示。蓝色的小三角表示和sequence比较时的开始字符,绿色小三角表示失败后模式串比对的开始字符,红色框表示当前比较的字符对。 当和模式串发生不匹配时,蓝色小三角后移一位,绿色小三角移到模式串的第0位。 如果sequence长度为m, pattern长度为n,暴力求解的时间复 阅读全文
posted @ 2020-03-15 22:41 listenviolet 阅读(514) 评论(0) 推荐(0)
摘要:1. 非递归遍历二叉树算法 (使用stack) 以非递归方式对二叉树进行遍历的算法需要借助一个栈来存放访问过得节点。 (1) 前序遍历 从整棵树的根节点开始,对于任意节点V,访问节点V并将节点V入栈,并判断节点V的左子节点L是否为空。若L不为空,则将L置为当前节点V;若L为空,则取出栈顶节点,并将栈 阅读全文
posted @ 2019-08-07 13:59 listenviolet 阅读(461) 评论(0) 推荐(0)
摘要:例1. [2019 美团春招实习笔试] 2. 染色格子数量 时间限制:C/C++语言 1000MS;其他语言 3000MS内存限制:C/C++语言 65536KB;其他语言 589824KB题目描述:在二维平面上有一个无限的网格图形,初始状态下,所有的格子都是空白的。现在有n个操作,每个操作是选择一 阅读全文
posted @ 2019-04-28 12:02 listenviolet 阅读(1559) 评论(0) 推荐(0)
摘要:作业部落:https://www.zybuluo.com/listenviolet/note/1399285 以上链接是自己在作业部落编辑的排序算法总结~ Github: https://github.com/listenviolet/py_code/tree/master/sort Github中 阅读全文
posted @ 2019-03-25 21:50 listenviolet 阅读(571) 评论(0) 推荐(0)
摘要:(原创文章,转载请注明出处哦~) 简单介绍CTC算法 CTC是序列标注问题中的一种损失函数。 传统序列标注算法需要每一时刻输入与输出符号完全对齐。而CTC扩展了标签集合,添加空元素。 在使用扩展标签集合对序列进行标注后,所有可以通过映射函数转换为真实序列的 预测序列,都是正确的预测结果。也就是在无需 阅读全文
posted @ 2019-03-07 23:28 listenviolet 阅读(17472) 评论(4) 推荐(6)