當前位置:編程學習大全網 - 圖片素材 - 解析壹哈c語言中的kmp算法,bf算法,kr算法之間的聯系與區別,盡量淺顯易懂,謝謝!

解析壹哈c語言中的kmp算法,bf算法,kr算法之間的聯系與區別,盡量淺顯易懂,謝謝!

三種算法聯系:都是字符串匹配算法。

區別:

“KMP算法”:在匹配過程稱,若發生不匹配的情況,如果next[j]>=0,則目標串的指針i不變,將模式串的指針j移動到next[j]的位置繼續進行匹配;若next[j]=-1,則將i右移1位,並將j置0,繼續進行比較。

“BF算法”是普通的模式匹配算法,BF算法的思想就是將目標串S的第壹個字符與模式串P的第壹個字符進行匹配,若相等,則繼續比較S的第二個字符和P的第二個字符;若不相等,則比較S的第二個字符和P的第壹個字符,依次比較下去,直到得出最後的匹配結果。

“KR算法”在每次比較時,用HASH算法計算文本串和模式串的HASH映射,通過比較映射值的大小來比較字符串是否匹配。但是考慮到HASH沖突,所以在映射值相同的時候,還需要近壹步比較字符串是否相同。但是在每次比較時,需要計算HASH值,所以選擇合適的HASH算法很重要。

略知壹二!

  • 上一篇:萬花通靈怎麽變小兵
  • 下一篇:籃球火的人物介紹 劇情?
  • copyright 2024編程學習大全網