找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2673|回复: 0
收起左侧

特征码搜索采用KMP算法

[复制链接]
ID:108531 发表于 2016-3-12 15:46 | 显示全部楼层 |阅读模式
KMP算法 搜索特征码 感觉差不多 效率还可以吧
inline void Get_Next(BYTE * bFlexlm,int * next,int nSize)
{
int i = 0 ,j = -1;* next = -1;
while(i < nSize)
{
  if (j == -1 || *(bFlexlm + i) == *(bFlexlm + j))
  { i++;j++;*(next + i) = j;}
  else
   j = *(next + j);
}
}
DWORD Index_KMP(BYTE * dest , int dSize ,BYTE * Flexlm ,int sSize)
{
int * bNext = new int[sSize + 1];
Get_Next(Flexlm,bNext,sSize);
int i = -1,j = -1;
while (i < dSize  && j< sSize )
{
  if(j == -1 || *(dest+i) == *(Flexlm + j))
  {
   i++;j++;
  }
  else
   j = *(bNext + j);
}
delete [] bNext;
if(j >= sSize)
  return i - sSize;
else
  return -1;
}


评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表