首先我们一般求子串的位置的时候,我们可以使用这样的方法/*
*功能:这个是定长的串的顺序存储
*时间:2015年7月15日17:16:01
*文件:SString.h
*作者:cutter_point
*/#ifndef SSTRING_H
#define SSTRING_H#define MAXSTRLEN 255class SString
{
unsigned char* ch; //...
分类:
编程语言 时间:
2015-07-26 20:54:46
阅读次数:
298
串(string)是由零个或多个宇符组成的有限序列,又名叫字符串。定义的解释:
??串中的字符数目n称为串的长度,定义中谈到“有限”是指长度n是一个有限的数值。
??零个字符的串称为空串(null string),它的长度为零,可以直接用两双引号一表示,也可以用希腊Φ字母来表示。
??所谓的序列,说明串的相邻字符之间具有前驱和后继的关系。下面是串的一些概念性东西:??空格串,是只包含空格的串。...
分类:
编程语言 时间:
2015-07-26 19:17:34
阅读次数:
132
【032-Longest Valid Parentheses(最长有效括号)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题 Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses su...
分类:
编程语言 时间:
2015-07-26 07:31:04
阅读次数:
198
FREAK算法是2012年CVPR上《FREAK: Fast Retina Keypoint》文章中,提出来的一种特征提取算法,也是一种二进制的特征描述算子,它具有尺度不变性、旋转不变性、对噪声的鲁棒性等优良特性。...
分类:
编程语言 时间:
2015-07-26 00:35:20
阅读次数:
2057
前言:二分图最大匹配往往用于普通的指派问题中,可转换为最大流问题求解,也可以利用二分图的性质及其边的容量为1的特点,简单的实现二分图的最大匹配算法。问题模型:有n台计算机和k个任务,每台计算机处理的任务种类不同,问如果给每台计算机分配一个任务,一次最多能处理多少个任务。分析:该问题可以转化为图论模型...
分类:
其他好文 时间:
2015-07-24 20:43:07
阅读次数:
137
题目的意思:给你一篇文章,再给你T个字符串,判断这T个字符串有哪些在文章中出现过。
由于文章很大,普通的方法必定超时,所以需要用 AC自动机算法。
AC自动机算法是多模匹配算法之一,主要是用于在一篇文章中,找出给定的N个单词在这篇文章中出现的个数。
AC自动机算法,我也是刚刚学习,主要是在建立字典树的基础上,增加了失败指针,提高了匹配的效率。而且最难的是失败指针的建立。
它的优点是:最大限...
分类:
编程语言 时间:
2015-07-23 00:49:08
阅读次数:
124
BM 算法是一个较优的模式匹配算法。一般,如果不考虑模式串的长度,一个具有时间复杂度O(n)的算法应该是最优的了,但是事实不是如此。BM算法可以实现更高效率的模式匹配。分析和实验说明,BM匹配算法对于那些字符集比较大,而模式串中出现的字符比较少的时候,工作效率最快。而且,考虑KMP匹配方式的优化,可...
分类:
编程语言 时间:
2015-07-22 22:31:06
阅读次数:
178
这种由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现的改进的模式匹配算法简称为KMP算法。大概学过信息学的都知道,是个比较难理解的算法,今天特把它搞个彻彻底底明明白白。注意到这是一个改进的算法,所以有必要把原来的模式匹配算法拿出来,其实理解的关键就在这里,一般的匹配算法:int...
分类:
编程语言 时间:
2015-07-22 22:11:42
阅读次数:
121
看了数据结构书上对于快速模式匹配算法KMP的介绍,感觉云里雾里。本文根据自己理解,并查资料整理了一种非常清晰简单的字符串匹配算法,并给予实现,自诩原创吧。字符串匹配是我们经常要用到的一种算法,与普通的匹配算法相比KMP算法效率更高,时间复杂度为O(m+n)。...
分类:
编程语言 时间:
2015-07-19 10:18:25
阅读次数:
154
【010-Regular Expresssion Matching(正则表达式匹配)】实现一个正则表达式匹配算法,.匹配任意一个字符,*匹配0个或者多个前导字符。使用标记匹配算法法,从后向前进行匹配。...
分类:
编程语言 时间:
2015-07-19 10:10:27
阅读次数:
152