串匹配问题

实 验 报 告

注:实验报告后要求附上源程序清单。

源程序:

#include "stdio.h" #include "conio.h" #include

//BF算法

int BF(char s[],char t[]) { int i; int a; int b; int m,n; m=strlen(s); //主串长度 n=strlen(t); //子串长度 printf("\n*****BF*****算法\n"); for(i=0;i

a++; b++; } if(b==n) { printf("查找成功!!\n\n"); return 0; } } printf("找不到%s\n\n",t); return 0; }

//前缀函数值,用于KMP算法 int GETNEXT(char t[],int b) { int NEXT[10]; NEXT[0]=-1; int j,k; j=0; k=-1; while(j

//KMP算法

int KMP(char s[],char t[]) { int a=0; int b=0; int m,n; m=strlen(s); //主串长度

n=strlen(t); //子串长度 printf("\n*****KMP算法*****\n"); while(a

//滑动距离函数,用于BM算法 int DIST(char t[],char c) { int i=0,x=1; int n; n=strlen(t); while(x&&i!=n-1) { if(t[i]==c) x=0; else i++; } if(i!=n-1) n=n-1-i; return n; }

//BM算法

int BM(char s[],char t[]) { int a=0; int b=0; int i,j; printf("\n*****BM算法*****\n"); int z=0; i=strlen(t)-1; while(i=0&&s[i]==t[j]) { j--; i--; } if(j

void main() { char s[]={'\0'}; //主串S int n=10; char t[]={'\0'}; //模式T printf("\n----------串匹配问题----------\n"); printf("\n输入主串S\nS="); scanf("%s",&s); printf("\n输入子串T\nT="); scanf("%s",&t); printf("主串长%d,子串长为%d\n",strlen(s),strlen(t));

}

BF(s,t); //BF算法

KMP(s,t); //KMP算法 BM(s,t); //BM算法

实 验 报 告

注:实验报告后要求附上源程序清单。

源程序:

#include "stdio.h" #include "conio.h" #include

//BF算法

int BF(char s[],char t[]) { int i; int a; int b; int m,n; m=strlen(s); //主串长度 n=strlen(t); //子串长度 printf("\n*****BF*****算法\n"); for(i=0;i

a++; b++; } if(b==n) { printf("查找成功!!\n\n"); return 0; } } printf("找不到%s\n\n",t); return 0; }

//前缀函数值,用于KMP算法 int GETNEXT(char t[],int b) { int NEXT[10]; NEXT[0]=-1; int j,k; j=0; k=-1; while(j

//KMP算法

int KMP(char s[],char t[]) { int a=0; int b=0; int m,n; m=strlen(s); //主串长度

n=strlen(t); //子串长度 printf("\n*****KMP算法*****\n"); while(a

//滑动距离函数,用于BM算法 int DIST(char t[],char c) { int i=0,x=1; int n; n=strlen(t); while(x&&i!=n-1) { if(t[i]==c) x=0; else i++; } if(i!=n-1) n=n-1-i; return n; }

//BM算法

int BM(char s[],char t[]) { int a=0; int b=0; int i,j; printf("\n*****BM算法*****\n"); int z=0; i=strlen(t)-1; while(i=0&&s[i]==t[j]) { j--; i--; } if(j

void main() { char s[]={'\0'}; //主串S int n=10; char t[]={'\0'}; //模式T printf("\n----------串匹配问题----------\n"); printf("\n输入主串S\nS="); scanf("%s",&s); printf("\n输入子串T\nT="); scanf("%s",&t); printf("主串长%d,子串长为%d\n",strlen(s),strlen(t));

}

BF(s,t); //BF算法

KMP(s,t); //KMP算法 BM(s,t); //BM算法


相关内容

  • 微带传输线的阻抗匹配问题
  • 微带传输线的匹配问题 串联匹配 Rs 为驱动端的输出电阻(电阻值很小):Z0为传输线特征阻抗:负载端输入电阻很大,近似开路. 为了达到电阻匹配,在驱动端串联电阻R ,使Rs +R =Z0(电阻串联匹配) 当驱动端有一个从5V 降到1V 的脉冲时(具体多大电压不重要),在信号从负载端反射回驱动端之前, ...

  • 基于灰度相关的图像匹配算法的改进
  • 第28卷第5期2007年9月应用光学 JournalofAppliedOptics V01.28No.5 Sep.2007 文章编号:1002-2082(2007)05-0536-05 基于灰度相关的图像匹配算法的改进 刘 莹1'2,曹剑中1,许朝晖1,田雁1,付同堂1'2,王锋"2 (1 ...

  • 双目视觉中立体匹配算法的研究与比较
  • 2011年1月第1期 电子测试 ELECTRONIC TEST Jan.2011No.1 双目视觉中立体匹配算法的研究与比较★ 高一宁, 韩燮 (中北大学 电子与计算机科学技术学院 山西 太原 030051) 摘 要: 在基于双目立体视觉三维重建的研究中,立体匹配是其中最重要的部分,它的准确性影响着 ...

  • 岗位匹配系数的探讨
  • 岗位匹配系数的探讨 工作分析和岗位评价从定性和定量两个方面较好的解决了岗位价值差别问题,为区分不同岗位的工作性质和工作价值提供了科学的评价工具.在实际的人力资源管理实践中,这种基于工作为核心的岗位设置和评价体系,常常会因相同岗位中不同人员之间的差异而显得不够精确,使得这种标准的公平性受到质疑,人岗匹 ...

  • 人岗匹配问题探析
  • 人岗匹配问题探析 摘要:人岗匹配是高校行政岗位管理的关键问题之一,也是高校行 政人力资源管理的出发点和归宿.本文针对人岗匹配原则在高校行政 管理过程中发挥作用的现状进行了探讨,并在此基础上分析了高校行 政管理工作中人岗匹配实施的对策. 关键词:高校行政管理岗位人岗匹配 一.人岗匹配的含义及基本原则 ...

  • 布线时的阻抗匹配问题
  • 布线时的阻抗匹配问题 电路 2010-11-07 16:28:22 阅读48 评论0 字号:大中小 订阅 特性阻抗 根据传输线理论和信号的传输理论,信号不仅仅是时间变量的函数,同时 还是距离变量的函数,所以信号在 连线上的每一点都有可能变化.因此定义连线的交流阻抗,即变化的电压和变化 的电流之比为传 ...

  • 图的匹配--匈牙利算法与KM算法
  • 图的匹配 一.什么是图的匹配 1.图的定义 无向图:无向图G是指非空有限集合VG,和VG中某些元素的无序对的集合EG,构成的二元组(VG,EG).VG称为G的顶点集,其中的元素称为G的顶点.EG称为G的边集,其中的元素称为G的边.在不混淆的情况下,有时记V=VG,E=EG.如果V={v1,„,vn} ...

  • 论当前我国人力资源市场招聘的供求匹配问题
  • MODE RN E CON0MI C RES EARC H 论 当前我 国人 力资源市场招聘 的供 求 匹配 问题 李增华 内容提要 :当前我 国人力资源市场招聘过程 中, 受供给总量趋 大. 人 才资源分布的" 马太效应" . 参与者匹 配意识不强. 信 息不对称. " ...

  • 基于图像匹配的定位分析
  • 信息传输与接入技术 基于图像匹配的定位分析 颜 洁,马 健 (中国电子科技集团公司第五十四研究所,河北石家庄050081) 摘 要:图像匹配是一种重要的图像处理技术,在导航.定位等领域有着广泛的应用.首先给出了图像匹配问题 的原理描述,分析了基于区域匹配算法的一般思路,研究了图像匹配算法的组成要素. ...

  • 图像拼接调研报告
  • 图像拼接的调研报告 1. 图像拼接的意义和国内外研究现状 1.1 意义 图像拼接(image mosaic)技术是将一组相互间存在重叠部分的图像序列进行空间配准,经重采样融合后形成一幅包含各图像序列信息的宽视角场景的.完整的.高清晰的新图像的技术.图像拼接是数字图像处理领域的一个重要的研究方向,在摄 ...