匹配模式BF算法

这篇具有很好参考价值的文章主要介绍了匹配模式BF算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目:疫情暴发,专家发现了一种新型环状病毒,这种病毒的DNA序列是环状的,而人类的DNA序列是线性的。专家把人类和病毒的DNA表示为字母组成的字符串序列,如果在某个患者的DNA中发现这种环状病毒,说明该患者已被感染病毒,否则没有感染。例如:病毒的DNA为“aabb”,患者的DNA为“eabbacab”,说明该患者已被感染。因为病毒是环状的,因此“abba”也是该病毒序列,它在患者的DNA中出现了。文章来源地址https://www.toymoban.com/news/detail-676529.html

int Index_BF(string S,string T, int pos)
{
	int i =pos, j =0;
	
	while(i<=S.length() && T<=T.length()){
		if(S[i]==T[i]){			//匹配一致继续匹配 
			++i;
			++j;
		}else{					//否则重新往后匹配 
			i=i-j+1;
			j=0;
		}
	}
	if(j==T.string()){
		return i-T.string();	//匹配成功返回T的位置 
	}else{
		return -1;
	}
}


bool VirusDetection(string S, string T)
{	
	for(int i=T.length(), j=0; j<T.length(); ++i, ++j){
		T[i]=T[j];						//将T扩大一倍 
	}
	string temp;
	for(int i=0;i<T.length();++i){
		for(int j=0;j<T.length();++j){
			temp[j]=T[i+j];				//得到病毒变种 
		}
		if(Index_BF(S, temp, 0)){		//检测病毒 
			return true;
		}
	}
	return false;
}

到了这里,关于匹配模式BF算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据结构课设:基于字符串模式匹配算法的病毒感染检测问题

    1.掌握字符串的顺序存储表示方法。 2.掌握字符串模式匹配算法BF算法或KMP算法的实现。 问题描述 医学研究者最近发现了某些新病毒,通过对这些病毒的分析,得知它们的DNA序列都是环状的。现在研究者已收集了大量的病毒DNA和人的DNA数据,想快速检测出这些人是否感染了

    2023年04月27日
    浏览(48)
  • 匹配模式BF算法

    题目:疫情暴发,专家发现了一种新型环状病毒,这种病毒的DNA序列是环状的,而人类的DNA序列是线性的。专家把人类和病毒的DNA表示为字母组成的字符串序列,如果在某个患者的DNA中发现这种环状病毒,说明该患者已被感染病毒,否则没有感染。例如:病毒的DNA为“aabb”,

    2024年02月11日
    浏览(33)
  • (C语言)数据结构算法-病毒感染检测(BF算法&&KMP算法)

    病毒感染检测: 医学研究者最近发现了某些新病毒,得知它们的DNA序列都是环状的。为了快速检测出患者是否感染了相应的病毒,研究者将患者的DNA和病毒的DNA均表示成一些字母组成的字符串序列,然后检测某种病毒DNA序列是否在患者的DNA序列中出现过,如果出现过,则此人

    2024年02月08日
    浏览(47)
  • 【数据结构】模式匹配之KMP算法与Bug日志—C/C++实现

    ​ 🌈 个人主页: Sarapines Programmer 🔥  系列专栏: 《数据结构奇遇记》 🔖墨香寄清辞: 墨痕寄壮志,星辰梦未满。 通幽径心凝意,剑指苍穹势如山。 目录 🌞1. 模式匹配的基本概念 🌞2. 模式匹配的解决办法 🎈2.1 暴力匹配(BF)算法 🎈2.2 KMP算法 🤖2.3 BUG记录_KMP算法 1

    2024年02月04日
    浏览(51)
  • 【Java】BF算法(串模式匹配算法)

    BF算法,即 暴力算法 ,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个与模式串T的第一个字符串进行匹配,若相等,则继续比较S的第二个字符和T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果, BF算

    2024年02月11日
    浏览(31)
  • 数据结构:串:第1关:基于BF算法的病毒感染监测

    任务描述 医学研究者最近发现了某些新病毒,通过对这些病毒的分析,得知它们的DNA序列都是环状的。现在研究者收集了大量的病毒DNA和人的DNA数据,想快速检测出这些人是否感染了相应的病毒。为方便研究,研究者将人的DNA和病毒的DNA均表示成由一些小写字母组成的字符串

    2024年02月05日
    浏览(38)
  • edcoder数据结构第1关:基于BF算法的病毒感染监测

    来源BJFUOJ 任务描述 医学研究者最近发现了某些新病毒,通过对这些病毒的分析,得知它们的DNA序列都是环状的。现在研究者收集了大量的病毒DNA和人的DNA数据,想快速检测出这些人是否感染了相应的病毒。为方便研究,研究者将人的DNA和病毒的DNA均表示成由一些小写字母组

    2024年02月08日
    浏览(45)
  • BFU数据结构头歌实验:基于BF算法的病毒感染检测

    这道题当初我想着直接抄课本上的BF代码,结果发现书中的代码都是默认模式串和主串的下标从零开始,因此需要将书中的代码进行修改。如下图所示,需要将变量i,j的初值都设为0。然后将书中出现的i,j全部加1即可。然后这个函数中的第三个参数,pos的值我没有使用,这个

    2024年02月06日
    浏览(53)
  • [入门必看]数据结构4.2:串的模式匹配

    小题考频:2 大题考频:0 难度:☆☆☆☆☆ 4.2.1_朴素模式匹配算法 4.2.2_1_KMP算法 4.2.2_2_求next数组 4.2.3_KMP算法的进一步优化 什么是字符串的模式匹配 ——在字符串内搜索某一段内容 查找功能 搜索引擎 字符串模式匹配:在主串中找到与模式串相同的⼦串,并返回其所在位置

    2023年04月23日
    浏览(37)
  • 【数据结构】【栈】括号匹配算法(可直接运行)

    假设表达式中允许包含三种括号:()、[]、{},其嵌套的顺序任意,即([]{})或[()[]{}]等均为正确的格式,实现一个算法,完成对表达式中括号的检验。 考虑以下括号序列: [ ( [ ] [ ] ) ] 分析如下: (1)计算机接收第一个括号 [ 后,等待与之匹配的 ] 出现。 (2)接收第二个括号

    2024年04月17日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包