我们有一个主字符串T=”xyxxyxxyzyyzzxxyyyzxxyxxyz” ,现在我们想在这个字符串里找到另一个小字符串S=”xyxxyz” 。我们使用一种叫做KMP的高效字符串匹配方法来做这件事。问题是,从开始搜索到最终找到这个小字符串的过程中,我们需要比较多少次单个的字符呢?

区块链毕设网qklbishe.com为您提供问题的解答

我们有一个主字符串T=”xyxxyxxyzyyzzxxyyyzxxyxxyz”,现在我们想在这个字符串里找到另一个小字符串S=”xyxxyz”。我们使用一种叫做KMP的高效字符串匹配方法来做这件事。问题是,从开始搜索到最终找到这个小字符串的过程中,我们需要比较多少次单个的字符呢?

模式串  S="xyxxyz"  的 PMT:  [0, 0, 1, 1, 2, 0]  (每个位置的最长相同前后缀长度) KMP 匹配过程: 第一次尝试(比较 6 次): 匹配  T[0..5]="xyxxyx"  和  S[0..5]="xyxxyz" ,第 6 次比较  T[5]=’x’  ≠  S[5]=’z’ ,失败。 根据  PMT[4]=2 ,模式串指针  j  从 5 回退到 2。 第二次尝试(比较 4 次): 从  T[5]=’x’  和  S[2]=’x’  开始,匹配  T[5..8]="xyzy"  和  S[2..5]="xxyz" ,第 4 次比较  T[8]=’y’  ≠  S[5]=’z’ ,失败。 根据  PMT[4]=2 ,模式串指针  j  从 5 回退到 2。 第三次尝试(直接成功): 从  T[18]=’x’  开始,完整匹配  S="xyxxyz" ,比较 6 次。 总比较次数: 第一次失败:6 次 第二次失败:4 次 第三次成功:0 次(因题目问的是找到前的比较次数,成功时的 6 次不计入) 总计:6 + 4 = 10 次
47:17

以上就是关于问题我们有一个主字符串T=”xyxxyxxyzyyzzxxyyyzxxyxxyz” ,现在我们想在这个字符串里找到另一个小字符串S=”xyxxyz” 。我们使用一种叫做KMP的高效字符串匹配方法来做这件事。问题是,从开始搜索到最终找到这个小字符串的过程中,我们需要比较多少次单个的字符呢?的答案

欢迎关注区块链毕设网-
web3一级市场套利打新赚钱空投教程

区块链NFT链游项目方科学家脚本开发培训

从业7年-专注一级市场


微信:btc9767
TELEGRAM :https://t.me/btcok9

具体资料介绍

web3的一级市场千万收益的逻辑


进群点我



qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 我们有一个主字符串T=”xyxxyxxyzyyzzxxyyyzxxyxxyz” ,现在我们想在这个字符串里找到另一个小字符串S=”xyxxyz” 。我们使用一种叫做KMP的高效字符串匹配方法来做这件事。问题是,从开始搜索到最终找到这个小字符串的过程中,我们需要比较多少次单个的字符呢?