博客园  :: 首页  :: 新随笔  :: 管理

2013年5月12日

摘要: 原理: 字符串查找算法中,最著名的两个是KMP算法和BM算法。两个算法在最坏情况下均具有线性的查找时间。但是在实际应用中,KMP算法并不比最简单的C库函数strstr()快多少,而BM算法则往往比KMP算法快上3-5倍。下面介绍一种比BM算法更快的查找算法——Sunday算法。 Sunday算法思想和BM算法类似,只不过Sunday算法是从前往后匹配,在匹配失败时关注的是:源串中参与匹配的最末位字符的下一位字符。如果该字符没有在匹配串中出现则直接跳过,移动步长=匹配串长度+1;否则,其移动步长=匹配串中最右端的该字符到末尾的距离+1。#include <iostream>#incl 阅读全文

posted @ 2013-05-12 10:49 zhangyuxiu 阅读(1051) 评论(0) 推荐(0) 编辑