自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 资源 (1)
  • 收藏
  • 关注

原创 模式匹配003: KMP

1. 概述KMP算法是Knuth、Morris、Pratt在1977年提出的一种基于前缀的匹配算法。该算法通过预处理模式计算得到前缀函数π,π包含有模式自身位移进行匹配的信息,这些信息可避免朴素字符串搜索中的无用位移位测试,安全的一次步进多个位移,进而减少匹配次数。KMP算法的核心是计算得到前缀函数π,得到π函数之后的搜索过程,反而显得很简单。,KMP算法总体具有线性时间复杂度,其中预处理阶段为 O(m),搜索阶段的最坏和平均时间复杂度均为 O(n),总时间复杂度为 O(n+m)。2. 前缀函数 Π先假设已

2010-11-21 22:28:00 435

原创 模式匹配002: Brute Search

<br />Brute Search<br /> <br />Brute Search是朴素的字符串搜索算法,不涉及任何特殊的技巧。当人们需要快速直观的解决搜索问题,而不想耗费脑细胞时,Brute Search是最佳的选择。<br />Brute Search算法在当前搜索窗口中,从前向后依次进行比对,在某字符上失配后,将搜索窗口向右移动一位,再次从模式串第一个字符开始比对。如下图Figure-01所示。其时间复杂度为O(nm)。<br /><br /> <br />下面是其C语言的简单实现:<br />c

2010-11-21 00:30:00 289

原创 模式匹配001: 基本概念

1. 简言    字符串匹配的问题,可以理解为从给定符号序列中找出具有某种属性的模式的问题。最简单的字符串匹配问题,就是从给定字符序列中找出给定的字符串。    本系列文章从基本概念谈起,然后依次对单字符串匹配、多字符串匹配、模糊匹配等问题的现存算法做一归纳整理,方便大家学习。 2. 基本概念文本 :给定的待搜索字符序列。可记为text、Text,或简写为t、T。模式 :具有某属性的字符串,在t中可能存在0次或多次。可记为pattern、Pattern,或简写为P、Patn、p、patn等。字符表 :

2010-10-09 17:42:00 807

kmp C code

KMP算法原理详述、C代码实现。PDF格式。

2010-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除