C++
文章平均质量分 79
zcanary
这个作者很懒,什么都没留下…
展开
-
tarjan算法求强连通分量
引入在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。下图中,子图{1,2,3,4}为一个强连通分量,因为顶点1,2,3,4两两可达。{5},{6}也分别是两个强连通分量。tarja原创 2016-07-03 11:07:44 · 752 阅读 · 0 评论 -
Trie树
文章大部分内容引用自Encyclopedia Trie树,即字典树。是一种树形结构,哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。Trie树可以用来作为搜索引擎中的分词处理手段。描述根节点不包含字符,除根节点外每一个节转载 2016-09-19 18:46:47 · 279 阅读 · 0 评论 -
AC自动机
文章大部分内容参考自CSDN–飘过的小牛 AC自动机,全程是Aho-Corasick automaton,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法。要讲清楚比较吃力,直接上实例边消化边理解会好很多。示例构造构造一棵Trie,作为AC自动机的搜索数据结构。构造fail指针,使当前字符失配时跳转到具有最长公共前后缀的字符继续匹配。如同 KMP算法一样, AC自动机在匹配时转载 2016-09-19 18:47:30 · 405 阅读 · 0 评论