论文网
English Papers
万事OK网
发表论文
 
 首页 > IT文章 > 程序设计 >
模式匹配的KMP算法

[科技论文网] http://www.scipapers.com    2007-12-01  

    模式匹配的KMP算法

    以下是两种模式匹配的算法,前者为普通算法,后者为KMP算法
    Index(char S[],char Sub[])
    {
     int i=0,j=1;
     while (i<=S[0]&&j<=Sub[0])
     {
      if(S[i]==Sub[j])
      {
       i++;
       j++;
      }
      else
      {
       i=i-j+2;
       j=1;
      }
     }
     if (j>Sub[0])
     return i-Sub[0];
     else
     return 0;
    }

    Index_KMP(char S[],char Sub[])
    {
     int next[MAXSIZE],i=0,j=1;
     Get_next(Sub,next);
     while (i<=S[0]&&j<=Sub[0])
     {
      if (j==0||S[i]==Sub[j])
      {
       i++;
       j++;
      }
      else
      j=next[j];
     }
     if (j>Sub[0])
     return i-Sub[0];
     else
     return 0;
    }
    Get_next(char Sub[],int next[])
    {
     int i=1,j=0;
     next[1]=0;
     while(i<=Sub[0])
     {
      if (j==0||Sub[i]==Sub[j])
      {
       i++;
       j++;
       if (Sub[i]!=Sub[j])
       next[i]=j;
       else
       next[i]=next[j];
      }
      else
      j=next[j];
     }
    }

        来源:

声明:本文由网友推荐或作者提交,版权归原作者所有,刊登此文仅为传播知识,展示研究成果,提高文章引用率。未经原作者授权,禁止用于任何形式的商业行为。科技论文网倡导尊重知识、尊重劳动、保护原创、知识共享。由于部分论文文章来于网络,文章作者不祥,请相关的原创作者与我们联系,以便加上您的署名。

  
模式匹配的KMP算法
下面没有链接了     汉诺塔源码
最新论文
·[程序设计]模式匹配的KMP算法
·[程序设计]汉诺塔源码
·[程序设计]寻找链表中间节点算法
·[程序设计]算术表达式的计算
·[程序设计] 数独◎终结者
·[程序设计]使用指针P\Q使链表反转
·[程序设计]格雷码算法
·[程序设计]大数阶乘源码
·[程序设计]随机算法研究
·[程序设计]拷贝链表的O(n)算法
 
 

搜索论文

Google
论文分类

论文网 论文发表网 论文 免费论文网 找论文网 毕业论文 中国论文网 英语论文 百度论文 聘教网 易搜
 免费发布论文    中国论文网 2008版权所有  业务联系:pinjiao@126.com