![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Algorithm
文章平均质量分 58
相门码农
这个作者很懒,什么都没留下…
展开
-
《后缀数组》笔记
摘自http://www.nocow.cn/index.php/%E5%90%8E%E7%BC%80%E6%95%B0%E7%BB%84后缀数组sa:将s的n个后缀从小到大排序后将 排序后的后缀的开头位置 顺次放入sa中,则sa[i]储存的是排第i大的后缀的开头位置。简单的记忆就是“排第几的是谁”。名次数组rank:rank[i]保存的是suffix(i){后缀}在所有后缀中从小到大排原创 2013-01-31 15:40:58 · 371 阅读 · 0 评论 -
二部图-匈牙利算法实现
两篇参考网址http://blog.csdn.net/dark_scope/article/details/8880547 相亲举例http://m.blog.csdn.net/blog/fyxz1314/37651567 偏公式增广路径:非匹配边->匹配边->非匹配边组成的路径递归:将之前匹配边的女生赋给新的男生,之前匹配边的男生重新找到心仪的女生,如此递归。#include原创 2015-05-09 23:08:12 · 622 阅读 · 0 评论 -
用于词义消岐的Lesk算法
该算法由Michael E. Lesk于1986年提出,是一个基于词典的词义消岐方法。该算法认为:一个词在词典中的词义解释与该词所在句子具有相似性。这种相似性可以由相同单词的个数来表示,比如“cone”和"pine"的意思分别为: CONE1. solid body which narrows to a point2. something of this shape whe原创 2014-02-15 22:16:18 · 8788 阅读 · 2 评论 -
BM模式匹配算法-原理(图解) 比较清楚的一篇
由于毕业设计(入侵检测)的需要,这两天仔细研究了BM模式匹配算法,稍有心得,特此记下。 首先,先简单说明一下有关BM算法的一些基本概念。 BM算法是一种精确字符串匹配算法(区别于模糊匹配)。 BM算法采用从右向左比较 的方法,同时应用到了两种启发式规则,即坏字符规则 和好后缀规则 ,来决定向右跳跃的距离。 BM算法的基转载 2013-04-16 14:15:50 · 1037 阅读 · 0 评论 -
BM算法
BM算法后缀匹配,是指模式串的比较从右到左,模式串的移动也是从左到右的匹配过程,经典的BM算法其实是对后缀蛮力匹配算法的改进。所以还是先从最简单的后缀蛮力匹配算法开始。下面直接给出伪代码,注意这一行代码:j++;BM算法所做的唯一的事情就是改进了这行代码,即模式串不是每次移动一步,而是根据已经匹配的后缀信息,从而移动更多的距离。1j = 0;转载 2013-04-15 12:47:13 · 652 阅读 · 0 评论 -
snort中的BM算法(c语言实现)
/* 函数:int* MakeSkip(char *, int) 目的:根据坏字符规则做预处理,建立一张坏字符表 参数: ptrn => 模式串P PLen => 模式串P长度 返回: int* - 坏字符表*/int* MakeSkip(char *ptrn, int pLen){ int i; //为建立坏字符表,申请256个int的空间 /转载 2013-04-15 19:04:42 · 1175 阅读 · 0 评论 -
由KMP算法谈到BM算法
六之续、由KMP算法谈到BM算法 作者:滨湖,July、yansha。说明:初稿由滨湖提供,July负责KMP部分的勘误,yansha负责BM部分的修改。全文由July统稿修订完成。出处:http://blog.csdn.net/v_JULY_v 。引言 在此之前,说明下写作本文的目的:1、之前承诺过,这篇文章六、教你从头到尾彻底理解KM转载 2013-04-13 12:58:26 · 581 阅读 · 0 评论 -
无向图的最小路径覆盖
摘自http://www.cnblogs.com/pushing-my-way/archive/2012/07/19/2598733.html如图,在无向图G=(V,E)中:1.无向图的最小路径覆盖:即图中的极小边覆盖,注意极小边覆盖的定义不是G中的每个顶点有且仅有一条边与它关联!!!2.无向图的最小路径覆盖与二分图的匹配有公式:无向原创 2013-03-11 12:14:45 · 1523 阅读 · 0 评论 -
最大二分匹配中 增广路定义
增广路的定义(也称增广轨或交错轨):若P是图G中一条连通两个未匹配顶点的路径,并且属于M的边和不属于M的边(即已匹配和待匹配的边)在P上交替出现,则称P为相对于M的一条增广路径。由增广路的定义可以推出下述三个结论:1-P的路径个数必定为奇数,第一条边和最后一条边都不属于M。2-将M和P进行取反操作可以得到一个更大的匹配M’。3-M为G的最大匹配当且仅当不存在M的增广路径。算原创 2013-03-07 10:07:32 · 1611 阅读 · 0 评论 -
最小点集覆盖==最大匹配 证明
摘自http://www.cnblogs.com/rainydays/archive/2011/03/03/1969543.html首先,最小点集覆盖一定>=最大匹配,因为假设最大匹配为n,那么我们就得到了n条互不相邻的边,光覆盖这些边就要用到n个点。现在我们来思考为什么最小点击覆盖一定原创 2013-03-07 09:50:18 · 3393 阅读 · 1 评论 -
快速排序中的霍尔分割
先看一下霍尔分割的举例第一趟(五步曲): a:3 8 7 1 2 5 6 4 //以第一个元素为主元 2 8 7 1 5 6 4 b:2 7 1 8 5 6 4 c:2 1 7 8 5 6 4 d:2 1原创 2013-01-21 15:34:05 · 815 阅读 · 0 评论 -
快速排序C++版
//// main.cpp// QuickSort//// Created by 陈亚东 on 15/3/10.// Copyright (c) 2015年 陈亚东. All rights reserved.//#include using namespace std;void Swap(int& a, int& b){ int tmp = a;原创 2015-05-06 09:59:55 · 458 阅读 · 0 评论