next數(shù)組通俗求法 數(shù)據(jù)結構模式匹配求next值?
數(shù)據(jù)結構模式匹配求next值?例如,求解模式字符串a(chǎn) B a B C a C next value 0 1 1 2 2 3 1 2 next數(shù)組的方法是:第一位的next value為0,第二位的ne
數(shù)據(jù)結構模式匹配求next值?
例如,求解模式字符串a(chǎn) B a B C a C next value 0 1 1 2 2 3 1 2 next數(shù)組的方法是:第一位的next value為0,第二位的next value為1。當稍后解出每個位的下一個值時,將根據(jù)前一位進行比較。首先,比較上一位與其下一個值對應的內(nèi)容。如果相等,則該位的下一個值為上一位的下一個值加1;如果不相等,則繼續(xù)查找下一個值對應的內(nèi)容與上一位進行比較,直到發(fā)現(xiàn)該位內(nèi)容的下一個值對應的內(nèi)容與上一位相等,則對應于位加1的值是請求的下一個值如果找到第一個位但沒有找到與前一個位相等的內(nèi)容,則請求位上的下一個值是1。有幾種方法,我現(xiàn)在只懂這一種。另一種方法是從字符串的下一個值-1開始查找字符串的下一個數(shù)組值。
如何快速求出next數(shù)組?
:known string STR=“aaab”,下一個數(shù)組值是0123。已知字符串STR=“babab”,其下一個數(shù)組值為01123。計算過程:計算3B(3B用坐標3表示B):首先比較3B的前一位2a,2a的下一個值為1,然后將2a與坐標1的字符串1b進行比較,后者不相等。因為1b是第一位,3b的下一個值是1。計算4A:首先比較4A的第一位3b,3b的下一個值是1,然后將3b與坐標為1的字符串1b進行比較,這樣4A的下一個值是(3b1的下一個值)=2。計算5B:與計算4a類似,結果為21=3。
如何求字符串next數(shù)組值?
我寫了一篇關于如何計算字符串next和nextval的文章,比較簡單生動,適合初學者