



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、算法设计与分析基础(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 rm mod n mn n r return n-二、连续整数检测法第一步:将minm,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=minm,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重复minpm,pn次)第四步:将第三步中找到的质因数相乘,其结果作为给定数字的最大公约数Horspool算法这个算法是由R.Nigel Horspool在1980年提出的。其滑动思想非常简单,就是从后往前匹配模式串,若在某一位失去匹配,此位对应的文本串字符为c,那就将模式串向右滑动,使模式串之前最近的c对准这一位,再从新从后往前检查。那如果之前找不到c怎么办?那好极了,直接将整个模式串滑过这一位。例如:文本串:abdabaca模式串:baca倒数第2位失去匹配,模式串之前又没有d,那模式串就可以整个滑过,变成这样:文本串:abdabaca模式串: baca发现倒数第1位就失去匹配,之前1位有c,那就向右滑动1位:文本串:abdabaca模式串: baca实现代码:#include #include #include #include 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); coutnposendl; 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) -1) & (Si-1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030国内遥控玩具行业市场发展分析及竞争格局与投资前景研究报告
- 2025-2030商用厨具行业市场发展分析及发展趋势前景预测报告
- 2025-2030品牌女装市场发展分析及行业投资战略研究报告
- 2025-2030右旋反灭虫菊酯行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 西师大四年级数学下学期期中复习竞赛题
- 2025-2030化妆品香精产业市场发展分析及发展趋势与投资研究报告
- 部编人教版四年级下学期语文期中知识点归纳复习易错练习题单〔有答案〕
- 2025-2030农业机械化行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030八宝粥产业行业市场现状供需分析及投资评估规划分析研究报告
- 人教版二年级语文下册期中课后辅导过关检测考试
- 小学生理财小知识主题班会精编ppt
- DBJ∕T 15-104-2015 预拌砂浆混凝土及制品企业试验室管理规范
- T-CAMET 04017.5-2019 城市轨道交通 全自动运行系统规范 第5部分:工程安全评估
- 互联网开放平台解决方案
- 腺样体肥大诊疗与腺样体切除术(概述、临床表现与危害、诊断、治疗及腺样体切除术)
- 贾宝玉形象分析PPT课件(PPT 30页)
- 建筑工程质量通病课件
- 阿坝州果蔬产业发展现状及展望
- Q∕GDW 10799.6-2018 国家电网有限公司电力安全工作规程 第6部分:光伏电站部分
- 农产品检测中心检测用样品制备作业指导书
- GMP附录5中药制剂ppt课件
评论
0/150
提交评论