- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法分析实验题目算法分析实验题目
一、 算法设计与分析基础(21周前交,要求上交源代码,需要实验报告,语言不限)
编程实现:
1、 计算两个不全为0的非负整数m和n的最大公约数
(1) 用欧几里德算法实现;
(2) 用连续整数检测算法实现;
(3) 用质因数分解算法实现;
2、 Horspool算法(Page 195)
3、 BM算法(Page 197)
最大公约数定义:两个不全为0的非负整数m和n的最大公约数记为gcd(m,n),代表能够整除(即余数为0)m和n的最大正整数。
一、欧几里得算法
第一步:如果n=0,返回m的值作为结果,同时过程结束;否则进入第二步
第二步:m除以n,将余数赋给r
第三步:将n的值赋给m,将r的值赋给n,返回第一步
算法 Euclid(m,n)
//使用欧几里德算法计算gcd(m,n)
//输入:两个不全为0的非负整数m,n
//输出:m,n的最大公约数
if n=0
return n
while n!=0 do
r←m mod n
m←n
n← r
return n
二、连续整数检测法
第一步:将min{m,n}的值赋给t
第二步:m除以t,如果余数为0,进入第三步;否则进入第四步
第三步:n除以t,如果余数为0,返回t的值作为结果;否则进入第四步
第四步:把t的值减1。返回第二步
算法:
//使用连续整数检测法计算gcd(m,n)
//输入:两个不全为0的非负整数m,n
//输出:m,n的最大公约数
if n=0 return n
t=min{m,n}
while t0 do
if (m mod t)==0
if (n mod t)==0
return t
else t=t-1
else t=t-1
return t
三、中学中计算gcd(m,n)的过程
第一步:找到m的所有质因数
第二步:找到n的所有质因数
第三步:从第一步和第二步求得的质因数分解式中找出所有的公因数(如果p是一个公因数,而且在m和n的质因数分解式分别出现过pm和pn次,那么应该将p重复min{pm,pn}次)
第四步:将第三步中找到的质因数相乘,其结果作为给定数字的最大公约数
Horspool算法
这个算法是由R.Nigel Horspool在1980年提出的。其滑动思想非常简单,就是从后往前匹配模式串,若在某一位失去匹配,此位对应的文本串字符为c,那就将模式串向右滑动,使模式
串之前最近的c对准这一位,再从新从后往前检查。那如果之前找不到c怎么办?那好极了,直接将整个模式串滑过这一位。
例如:
文本串:abdabaca
模式串:baca
倒数第2位失去匹配,模式串之前又没有d,那模式串就可以整个滑过,变成这样:
文本串:abdabaca
模式串: baca
发现倒数第1位就失去匹配,之前1位有c,那就向右滑动1位:
文本串:abdabaca
模式串: baca
实现代码:
#include iostream
#include vector
#include string
#include cstdlib
using namespace std;
int Horspool_match(const string S,const string M,int pos);
int main( )
{
string S=abcdefghabcdefghhiijiklmabc;
string T=hhiij;
int pos = Horspool_match(S,T,3);
cout\nposendl;
system(pause);
return 0;
}
int Horspool_match(const string S,const string M,int pos)
{
int S_len = S.size();
int M_len = M.size();
int Mi = M_len-1,Si= pos+Mi;//这里的串的第1个元素下标是0
if( (S_len-pos) M_l
您可能关注的文档
- 简易方程例1-例3.doc
- 简易RLC测量仪.doc
- 简易方程教学设计.doc
- 简易方程说课稿.doc
- 简易波形发生器.doc
- 简易数字电压表说明书.doc
- 简易电子琴设计.doc
- 简易温度控制仪实验报告.doc
- 简易电子琴课程设计.doc
- 简易电路图总结.doc
- XX T 1149.11-2010 内燃机 活塞环 第11部分:楔形铸铁环正式版.doc
- XX T 1149.13-2008 内燃机 活塞环 第13部分:油环正式版.doc
- XX T 1149.12-2013 活塞环楔形钢环正式版.doc
- 人教版高中生物必修2全册教学课件.pptx
- 2025年春新北师大版8年级物理下册全册课件.pptx
- 2024年新人教版8年级上册物理全册课件.pptx
- (新统编版)语文三年级下册 第一单元 大单元教学 课件(共9课时).pptx
- 八年级语文下册第六单元24醉翁亭记课件省公开课一等奖新课获奖课件.pptx
- 八年级物理上册第六章质量与密度章末整理与复习习题省公开课一等奖新课获奖课件.pptx
- 外研版三年级英语下册期末复习单词专项.pptx
最近下载
- 土地整治项目流程.pptx
- 南京邮电大学2023-2024学年《会计学》期末考试试卷(B卷)附标准答案.docx
- 2025年春学期人教版初中道德与法治七年级下册教学计划附教学进度表.docx VIP
- 2024湖北恩施州利川市事业单位选调18人笔试备考试题及答案解析.docx
- 2023西师大版八年级音乐下教学计划、全册教案及教学总结.pdf VIP
- XX镇棺木回收处置方案.docx VIP
- 2024新人教版初中物理实验一览表.pdf
- 国家核电厂核事故应急应急预案.pdf VIP
- 领导干部2024年度专题民主生活会、组织生活会对照检查材料(“四个带头”方面).docx VIP
- 初中北师大版数学七年级下册全册每章节同步练习.pdf VIP
文档评论(0)