1,Boyer-Moore算法
Boyer-Moore算法是将字符串匹配的过程逆转,是从右到左匹配的。S串为待匹配串,T串为模式串。T沿着S不断向右移动,针对每次的位置,先判断T[m-1]是否匹配上,接着判断T[m-2], T[m-3]... T[0]。如果匹配不上,则向右移动T一个skip距离。这个skip不一定是1。
2,Rabin-Karp算法
算法原理:针对模式串T算出其哈希值,并针对源串也算一下哈希值。
3,各种算法的比较
1,Boyer-Moore算法
Boyer-Moore算法是将字符串匹配的过程逆转,是从右到左匹配的。S串为待匹配串,T串为模式串。T沿着S不断向右移动,针对每次的位置,先判断T[m-1]是否匹配上,接着判断T[m-2], T[m-3]... T[0]。如果匹配不上,则向右移动T一个skip距离。这个skip不一定是1。
2,Rabin-Karp算法
算法原理:针对模式串T算出其哈希值,并针对源串也算一下哈希值。
3,各种算法的比较