當前位置:編程學習大全網 - 行動軟體 - 數據結構中BF算法描述中為什麽是i=i-j+2

數據結構中BF算法描述中為什麽是i=i-j+2

非KMP算法的 i 回溯為什麽是i-j+2? 首先:我們將 i-j+2 分解為 (i -j +1) + 1,

i-j+1代表什麽?代表主串的 i 位置前已經有 i-j+1個字符被匹配上了(也就是目前為止符合條件的最長的子串的長度),然而現在第 i 個字符匹配不上,自然就要回溯,那麽就先回溯 i -j + 1個字符,等同於回到本次匹配的起點,然後我們再 + 1,就開始了下壹次的匹配,(廢話壹句:如果不+1就開始匹配,那不就是重復上壹次的匹配過程了嗎?哈哈),這種回溯也決定了此算法的低效,因此也就引出了課程後面的KMP算法。

  • 上一篇:蝴蝶結四個結最簡單打法解
  • 下一篇:魔獸世界熔巖犬坐騎怎麽獲得 熔火惡犬獲得方法是什麽
  • copyright 2024編程學習大全網