由于简单模式匹配算法在一次字符比较失败后,简单的把模式串位置向前移动一个字符位置,这样就丢掉了前面字符匹配中得到的信息,效率差。所以就需要一种无回溯的算法来提高效率,这里使用KMP(Knuth-Morris-Pratt)算法。模式串前面的连续片断部分称“前缀模式”,前缀模式在模式串后部重复出现的情况可以用来避免重复进行已经做过的检查,这是KMP算法中的一个重要概念。
标签: 模式匹配 字符 算法 比较
上传时间: 2015-03-21
上传用户:lizhen9880
微软面试题:给出一个函数来输出一个字符串的所有排列。 简单的回溯就可以实现了。当然排列的产生也有很多种算法,去看看组合数学,还有逆序生成排列和一些不需要递归生成排列的方法。印象中Knuth的<TAOCP>第一卷里面深入讲了排列的生成。这些算法的理解需要一定的数学功底,也需要一定的灵感,有兴趣最好看看。
标签: 微软 函数 字符串 面试题
上传时间: 2013-12-31
上传用户:康郎
TAOCP第四卷,Knuth老先生的作品很不错 欢迎下载
标签: TAOCP
上传时间: 2013-11-25
上传用户:xsnjzljj