1. 程式人生 > >BF算法(蠻力匹配算法)

BF算法(蠻力匹配算法)

一個 pre bsp C# 連續 定位 clas bf算法 ret

將主串M指定位置和目標串S開始位置進行對比,如果相同將M的下一個字符和S的下一個字符對比,如果不同則M的下一個字符和S的開始位置對比,直到S中每一個字符和M中的連續字符串相等,否則不匹配。

C#代碼-->

       private static int Index(string m,int  pos, string s)
        {
            int m_len = m.Length;
            int s_len = s.Length;
            int i = pos-1;
            int j = 0
; if (pos>m_len) { return -1; } while ( i<m_len && j<s_len) { if (m[i]==s[j]) { i++; j++; }
else { j = 0; i = i - j + 1; } } if (j>=s_len) { return i - s_len; } else { return 0; } }
//調用 int res = Index("asdfghjkl", 2, "fghjk"); Console.WriteLine(res);

復雜度為O(M*N)

BF算法(蠻力匹配算法)