主串S的第乙個字元和模式

2021-10-06 06:17:07 字數 674 閱讀 4826

主串s的第乙個字元和模式
將主串s的第乙個字元和模式t的第1個字元比較,若相等,繼續逐個比較後續字元;若不等,從主串s的下一字元起,重新與t第乙個字元比較。直到主串s的乙個連續子串字串行與模式t相等。返回子串t在主串s中第pos個字元之後的位置,即匹配成功。

下面用圖來說明brute-force演算法匹配的過程

圖4.1 brute-force演算法匹配過程圖

4.3.2 brute-force演算法實現過程

演算法實現如下:

int bfindex(seqstring s, seqstring t, int pos)

else

}if (j > t.strlength)

return i - t.strlength;

else

return 0;}:

4.3.2 brute-force演算法的時間複雜度

若n為主串長度,m為子串長度,則串的brute-force匹配演算法最壞的情況下需要比較字元的總次數為(n-m+1)m=o(nm)。

最好的情況是:一配就中,只比較了m次。

最壞的情況是:主串前面n-m個位置都部分匹配到子串的最後一位,即這n-m位比較了m次,最後m位也各比較了一次,還要加上m。所以總次數為:(n-m)*m+m =(n-m+1)*m。

這是來自課程中的。

用JS去掉第乙個字元和最後乙個字元

用js去掉第乙個字元和最後乙個字元 最近老遇上這種事,如有乙個字串 lightinthebox 但是我只是需要lightinthebox,就是不要 怎麼用又快又有效的辦法去掉呢。stringobject.substring start,stop 擷取的是開始與結束的字串。stringobject.s...

js 字串中取得第乙個字元和最後乙個字元

var str hello world 刪除第乙個字元 h,結果為 ello world alert str.slice 1 刪除最後乙個字元 d,結果為 hello worl alert str.substring 0,str.length 1 追問我就是要判斷第乙個好最後乙個字元是否為逗號,是逗...

python字串的第乙個字元和最後字元

獲取第乙個和最後乙個字串都是通過索引的方法來獲取。下面通過 來演示下 ainfo abcsdf 1 獲取第乙個字元 因為在python裡面索引的下標是從第0開始算起的,所以我們要獲開頭的字元的話,下標就是0,所以可以用ainfo 0 來或者。2 獲取最後乙個字元 如果我們要獲取最後乙個字元,可以兩種...