字符串匹配算法之BF算法(即暴力算法)

 

BF算法,即暴力(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是將目標串S的第一個字符與模式串T的第一個字符進行匹配,若相等,則繼續比較S的第二個字符和 T的第二個字符;若不相等,則比較S的第二個字符和T的第一個字符,依次比較下去,直到得出最後的匹配結果。BF算法是一種蠻力算法。

  public static int bf(String strA, String strB) {
    int aLength = strA.length();
    int bLength = strB.length();

    int i = 0, j = 0;

    while (i < aLength && j < bLength) {
      if (strA.charAt(i) == strB.charAt(j)) {
        i++;
        j++;
      } else {
        i = i - j + 1; // k
        j = 0;
      }
    }
    if (j == bLength) {
      return i - j;
    } else {
      return -1;
    }
  }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章