KMP 算法并非字符串查找的优化 [转]
摘要:
算法书和数据结构书对KMP算法多有介绍,称只需对字符串扫描一遍不需回溯云云.然而,它恐怕只应该作为一种思想存在;用于实际的字符串查找并不理想.要费劲心血实现和优化它,才能在特定的字符串上略微超过(也可能略微逊过)std::search. KMP算法的基本思想,是利用需要匹配字符串的自身信息来避免回溯.(这里讨论的算法是以C/C++为编程语言,因此下标索引以0开始) 例如:字符串PAT=”abcabcde”,里面第二段的abc和PAT开头的字符是匹配的. 假如我们有个要查找的字符串TEXT=”abcabD...”,在比较到TEXT的'D'处(TEXT[5])也即到了PAT的第二个 阅读全文
posted @ 2011-09-25 23:36 龙豆 阅读(2018) 评论(0) 推荐(0)
浙公网安备 33010602011771号