标题: 特征码搜索采用KMP算法 [打印本页]

作者: 51hei人人    时间: 2016-3-12 15:46
标题: 特征码搜索采用KMP算法
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;
}







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1