當前位置:編程學習大全網 - 網站源碼 - BM算法與KMP算法分別擅長於處理何種類型的字符串?為什麽?

BM算法與KMP算法分別擅長於處理何種類型的字符串?為什麽?

答案:正如教材第11.4.5節所指出的,在評價不同串匹配算法各自的實用範圍時,在不同應用中單次比對的成功概率,扮演著重要的角色。而根據習題[11-9]的分析結論,在通常的情況下,這壹概率首先並直接取決於字符集的規模。

當字符集規模較小時,單次比對的成功概率較高,蠻力算法的效率較低。此時,KMP算法穩定的線性復雜度,更能體現出優勢;而采用BC表的BM算法,卻並不能大跨度地向前移動。

反之,若字符集規模較大,則單次比對的成功概率較小,蠻力算法也能接近於線性的復雜度。此時,KMP算法盡管依然保持線性復雜度,但相對而言的優勢並不明顯;而采用BC表的BM算法,則會因比對失敗的概率增加,可以大跨度地向前移動。

  • 上一篇:intellijidea哪個版本
  • 下一篇:童年C調簡譜
  • copyright 2024編程學習大全網