2009 英特尔® 线程挑战赛 第四题 字符串搜索!

denghui0815 2009-05-23 01:46:36
字符串搜索

问题描述:写一个线程程序来搜索用字符串表示的 DNA 序列的数据库,来找到可以匹配的其他 DNA 序列。数据库和查询字符串由四个字符组成:'A', 'C', 'G'. 和 'T' 。对于每个输入的搜索查询字符串,输出必须报告任何输入 DNA 序列内的精确匹配位置。如果查询字符串与数据库内的多个序列匹配,必须报告每个结果;如果查询字符串与同一个数据库序列的多个位置匹配,必须报告完全匹配的那个最早出现的位置。这个问题(资料库档案,查询档案,输出结果)的文件名将在命令行上给出。

文件格式:输入数据库和查询档案将具有相同的格式。每个序列将以大于字符('>')开始,紧跟序列来源的描述,描述不超过 131 个字符。序列会在下一行开始,持续几行。每一行都将包含'A', 'C', 'G'. 和'T'集合的整 80 个字符,除了最后一行,可能会少于80个字符。在最后一行之后将是从下一个序列直至文件末尾的描述符,文件末尾将由描述符(">EOF" )表示 。

对于包含在第二个输入文件的每个查询字符串,输出文件应打印查询序列的描述符和数据库序列的描述符,这个数据库序列包含一个匹配和此匹配在数据库序列内的位置。如果在任何数据库序列内,都没有找到查询序列字符串,应在查询描述符之后打印出一个相关消息来体现这个结果。

计时:总执行时间将用于计分。这允许输入数据库序列的编码或压缩在输入期间完成(如果你的算法采用这种转换)
...全文
245 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
haojn 2009-06-09
  • 打赏
  • 举报
回复
我周五才开始做,只实现了一个方法:移位+64bit比较
really3353 2009-06-09
  • 打赏
  • 举报
回复
mark
denghui0815 2009-06-09
  • 打赏
  • 举报
回复
压缩后内存空间有优势, 速度会快N倍
mybandari 2009-06-07
  • 打赏
  • 举报
回复
构造后缀数组
denghui0815 2009-06-06
  • 打赏
  • 举报
回复
一开始考虑用了KMP BM算法
后来用了WM 也尝试过ACBM
最后实现的数据压缩的WM算法

denghui0815 2009-06-06
  • 打赏
  • 举报
回复
跑了一下下面这个测试数据
http://software.intel.com/file/19471
大概0.03秒
输出结果1468行
haojn 2009-06-01
  • 打赏
  • 举报
回复
这里有些测试数据
http://www.ensembl.org/info/data/ftp/index.html
denghui0815 2009-05-30
  • 打赏
  • 举报
回复
http://software.intel.com/zh-cn/contests/Threading-Challenge-2009/codecontest.php
ktty445655619 2009-05-30
  • 打赏
  • 举报
回复
你这个题目是哪里来的啊???
denghui0815 2009-05-29
  • 打赏
  • 举报
回复
恩 英文论坛上有人发过这个链接
haojn 2009-05-29
  • 打赏
  • 举报
回复
我发现这个可以查看总分数(每题多加了100分)
http://software.intel.com/en-us/contests/Threading-Challenge-2009/contest_services.php?count=100&contestid=32
denghui0815 2009-05-24
  • 打赏
  • 举报
回复
英文论坛上有讨论 你去看看
haojn 2009-05-23
  • 打赏
  • 举报
回复
如果查询字符串与数据库内的多个序列匹配,必须报告每个结果;如果查询字符串与同一个数据库序列的多个位置匹配,必须报告完全匹配的那个最早出现的位置。

这句话啥意思。。。

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧