zoukankan      html  css  js  c++  java
  • 常用字符串搜索算法介绍

    常用字符串搜索算法介绍

    字符串搜索或匹配是经常用到的技术,因此也发展了多个算法,介绍几个著名的算法。

    1.单模式匹配

    就是在一些文本中查找某一个子字符串的算法,效率较高的有以下几种。

    KMP算法:全称Knuth-Morris-Pratt算法 预处理时间Θ(m) 匹配搜索时间 Θ(n)

    BM算法:全称Boyer-Moore string search algorithm 预处理时间Θ(m + |Σ|) 匹配搜索时间Ω(n/m), O(n)

    2. 有限模式集合匹配

    就是在字符串中查找多个子字符串的算法,常用于查找字典中的单词和一些脏字匹配算法

    Aho-Corasick算法:这是一种字典匹配算法,它用于在输入文本中查找字典中的字符串。时间复杂度是线性的。

    基本原理:该算法利用类似后缀树的方法构造一个trie结构,匹配时利用该结构来搜索。


    Commentz-Walter 算法:详细未知

    Rabin-Karp string search算法:该算法最差复杂度不好,因此运用的并不广泛。

    以上资料来源于维基百科,感兴趣的可以搜索维基百科词条String searching algorithm以获取更多信息。

  • 相关阅读:
    tip
    tip
    paper clip 使用
    这个菜单有点cool
    jqueryoptiontree plugin introduce by frederick.mao
    ruby语法不理解
    近来心得,心不可太贪,见好就收
    XPCOM的有关链接
    rails router
    rails3高端observer模式
  • 原文地址:https://www.cnblogs.com/absolute8511/p/1649605.html
Copyright © 2011-2022 走看看