蛮力法在字符串匹配问题中的应用(JAVA)--朴素模式匹配算法
生活随笔
收集整理的這篇文章主要介紹了
蛮力法在字符串匹配问题中的应用(JAVA)--朴素模式匹配算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
蠻力法在字符串匹配問題中的應用
字符串匹配問題通常是給定一個n個字符組成的串(稱為文本),一個m(m<=n)個字符的串(稱為模式),從文本中尋找匹配模式的子串。顯然我們需要逐個匹配,這是蠻力算法的典型特點。
蠻力匹配:時間復雜度O(n^2)
public class Main {public static void main(String[] args) {String[] a = {"a","b","c","d","e","f","g","h"};String[] b = {"e","f"};int flag = 0;for (int i = 0; i < a.length-b.length; i++) {int j = 0;while (j < b.length && b[j] == a[i+j]) {j = j+1;if (j == b.length-1) {flag = 1;System.out.println(i);}}}if (flag == 0) {System.out.println("no find");}} } 發現問題:這樣的蠻力方法對于文本中的每個字母都會進行匹配,而這無疑增加了許多冗余的比較
優化思路:KMP算法
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的蛮力法在字符串匹配问题中的应用(JAVA)--朴素模式匹配算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ambari删除服务报错之CSRF pr
- 下一篇: 吴钩:打开宋代的“隐藏玩法”