2016-07-05 62 views
-1

當kmp算法在預處理過程中應用於模式時,如果我以1開頭,創建的數組是否以0或1開始?我的意思是元素,如果模式在預處理數組中得到0或1的值?KMP算法應用程序

+0

通常數組是零索引,意味着它們從零開始。我不明確這個算法,但我會假定它遵循零索引的約定。 –

回答

-1

它從第一個索引開始,第0個索引處的值始終保持爲零。

PSEDU CODE

KMP-PREFIX-ARRAY(PATTERN)

j<- 0 ; i <- 1; 
NEWARRAY[PATTERN.length] 
while i < PATTERN.length 
     if PATTERN[i] = PATTERN[j] 
       j <- j + 1; 
       NEWARRAY [i] <- j; 
       i <- i + 1; 
     else 
      if j = 0 
       NEWARRAY[i] <- j; 
      else 
       J = NEWARRAY[j - 1]; 
    return NEWARRAY; 
0

如果陣列是從1索引,該第一值將是1,

而如果它從0索引,第一個值將是0.

我希望這是你正在請求。 :)