专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

欧几里得算法理解算法本质的最好例子,具有很强的实用性

  我们时常会遇到一些计算规则,它们在定义一个序列的元素时,要用到序列中在它前面的元素。这时就有两种不同的进行计算的办法。第一个办法是迭代,就是先算出第一个元素,再用递推公式算出下面的元素。第二个办法是递归,这个办法初看起来是循环的,因为在定义一个过程时,用到了过程本身。让我们用一些例子来说明递归与迭代的区别。
  设我们想要计算n!123(n1)n。显然,这里有一个递推关系:n!n(n1)!,还有初始值1!1。做完了第一步以后,就能相继地算出2!,3!,4!等等,一直到算出n!为止。另一个办法是:把计算阶乘作为一个程序,记作FACT,而用FACT(n)表示执行这个程序到n!的结果,于是FACT(n)nFACT(n1),这就是一个递归程序。
  第二个办法是:为了知道如何得到n!,只需知道如何得到(n1)!,而为了知道如何得到(n1)!,只需知道如何得到(n2)!,以此类推。因为1!1,所以能得到n!。这样,递归有点像是把迭代倒过来考虑。
  从某些方面来说,用这个例子来说明这两种程序的差别是太简单了。此外,如果真要计算n!,则迭代比递归更加简单和自然。现在我们再看一个例子,这里递归就比迭代简单得多了。
  梵天塔
  梵天塔是卢卡斯(法国数学家)发明的一种数学游戏,设有n个圆盘,大小不一,盘的中心是一个小洞,按大小把它们叠在一根小柱A上。大的放在下面。还有另外两根空柱子B和C。问题是如何把原来在柱子A上的一摞圆盘移到柱子B,但要服从以下规则:每次只许移动一个圆盘,每一次都只能移动一根柱子最上面的圆盘放到另一根柱子上,此外任何时刻都不许把圆盘压在较小的圆盘上。
  如果只有3个圆盘,这个问题是很容易的,但是当圆盘数目增加时,难度就快速增加了。然而借助于递归,就能很快地找到按照要求移动圆盘的算法了。事实上,假设我们已经知道移动n1个圆盘的程序H(n1),则下面就是移动n个圆盘的程序H(n):先把小柱A上的上面n1个圆盘用程序H(n1)移到小柱C上,再把A上的最后一个移到B上;最后再用H(n1)把C上的n1个圆盘全部按规则移到B上,而问题完全解决。我们可以把这个递归程序用符号写为
  很容易用归纳法得出,整个程序包含2n1步,此外,还能得知,这个任务不可能以更少的步数来完成。所以步数必为n的指数函数,而对于大的n。这个程序是很长的。
  更进一步说,n越大,就需要更多的存贮单元来追踪我们的程序已经进行到哪一步了。与此相对照的是,如果我们想在迭代程序中实行一次迭代,我们只需要知道上一步迭代的结果就够了。所以,我们最需要记忆的只是一次迭代的结果。对于梵天塔,确实也有一个迭代程序。描述这个程序很容易,但是,这个程序确实能解决问题,却不是那么明显。它把这n个圆盘的位置编码成为一个n位的序列,而在每一步都给出得到下一个n位序列的很简单的规则。这个规则并不参照程序已经执行了多少步,所以,除了用来存贮圆盘位置外,所需记忆的量是很小的。
  推广的欧几里得算法
  欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b)gcd(b,amodb)。
  欧几里得算法是很容易可以自然化为递归的另一个例子。如果a和b是两个正整数,则可以写出aqbr,0rb。这个算法依据的是下面的观察:gcd(a,b)gcd(b,r)。因为余数r很容易从a和b算出,又因为数对(b,r)小于数对(a,b),所以,这就给了一个递归程序,而在遇到(a,0)形式的数对时就会停止。
  欧几里得算法的一个重要推广是贝祖引理。这个引理指出,对于任意一对正整数a和b,一定存在一对整数(不一定都为正)u和v,使得
  怎样去求这种整数u,v呢?推广的欧几里得算法给出了答案,而它又是可以由递归来定义的。设对于b和r,能够找到一对(u,v)使得
  则因abgr,可以把raqb代入上式,而得
  这样,若令uv,vuvq,就得到了duaub。因为对于a和b所需的数对(u,n)可以容易地从较小的b和r所需的(u,v)算出。这就给了一个递归程序。r0就是递归的底,这样就有1b0rd。一旦到了这时,就可以往回走,通过欧几里得算法,按照上面的规则逐步修改(u,v)。复杂性
  迄今我们都是作为理论来讨论算法,而忽略了它的实用性。然而,单是有算法存在,还不一定能保证计算机能够执行它,因为有些算法包含的步数如此之多,使得没有一种计算机能够执行。一种算法的复杂性,粗略地说,就是它完成一项任务所需的步数。更准确地说,这是算法的时间复杂性。还有空间复杂性,是指为了执行这个任务所需的存贮的多少。复杂性理论研究的就是完成各种任务所需的计算机资源。
  欧几里得算法的复杂性
  计算机执行欧几里得算法所需的时间与计算商和余数所需的时间密切相关,也就是与递归程序访问其自身的次数密切相关。当然,这个数进一步又依赖于想要求其gcd的数a和b的大小。一个初始的观察是:如果0ba,则a除以b的余数必小于a2。由此可知,在求余数时,只要计算了两步,就可以得到一个数对,而其第一个分量最多只有原来的第一个分量的一半,由此容易看到,计算余数最多只需要
  而此数大体上与a的位数成正比。因为一个数的位数远小于此数本身,这个算法可以很容易地用于很大的数,这就使它除有理论意义外,还有很大的实用性。
  所需除法的次数,在最坏的情况下是多少,这个问题直到19世纪上半叶才有人研究。上面给出的界限是由芬克在1841年得出的。但是不难看到,这个结果可以稍加改善,而证明当a和b是斐波那契数列的相继两项时,算法最长。这意味着所需除法的数目绝不会超过
  欧几里得算法还有很低的空间复杂性。当把数对(a,b)代以数对(b,r)后,就可以忘掉原来的数对,所以在任何阶段都不必记住很多东西(也就是不必把它放在计算机的存贮内)。与此相对照,推广的欧几里得算法表面上看,需要记住导致a和b的gcdd的全部计算过程,因为这样就可以做一系列代入以得出u和v使得yabud。但是仔细看一下,又可以看出,在任何时刻,只需记住少数几步就可以完成这个工作。
  让我们用一个例子来说明这是怎么做的。我们设a38,b21,很明显gcd(38,21)1。现在要找出u和v使得38u21v1。我们从写出欧几里得算法的第一步开始:3812117。这一步告诉我们173821。再作第二步:211174。我们已经知道了如何用38和21表示17,把它代入上式,就有211(3821)4。移项以后可得422138。现在再来作欧几里得算法的第三步:17441。只要记住第一步和第二步的结果,就可以把17和4都用38和21表示,所以再代入一次就有38214(22138)1。整理以后就有1538921,而问题完全解决。
  可见只需记住两步的结果。
  想一想这个过程就会看到,在每一阶段都只需要记住某两个数(例如上面的17和4)是怎样用a和b表示的。所以推广的欧几里得算法,如果适当执行,其空间复杂性也是很小的。

布洛芬一药难求,这家公司猛涨了184亿作者林夏淅编辑刘肖迎英国人斯图尔特亚当斯恐怕很难想象,自己发明的布洛芬会在六十多年后变得如此紧俏。12月10日,仍在哺乳期的小雯一家都中招了,因为在北京没能买到适合婴儿的布洛芬混悬廉政狙击第5集,屠敏救下卓以凡,她是假装失忆?廉政狙击是有港剧的精髓的,剧情节奏紧凑,一环扣一环,观众是可以沉下去看剧的,特别是第4集和第5集,让我找到了过去追剧的体验,我们都猜到了屠敏的身份,但是对于她是否是失忆,还不能确定胡润中国食品行业百强榜酒类霸榜,澳优等8家企业落榜!12月18日,2022胡润中国食品行业百强榜发布。上榜的100家食品企业涵盖食品综合酒类软饮料乳制品肉制品调味品烘培粮油保健品和农牧行业。榜单显示,贵州茅台以2。4万亿的价值蝉联中湖南电影服务平台项目论证会日前召开日前,湖南电影服务平台项目论证会在长沙召开。会议听取了项目执行团队关于湖南电影服务平台项目方案的汇报。一致认为,湖南作为电影创作大省和全国电影拍摄的主要取景地,很有必要搭建一个多功湖南省互联网行业年度盛会将启2022湖南省互联网企业50强发布会12月21日举行视频加载中红网时刻新闻12月20日讯(记者王嫣)为树立全省互联网行业发展标杆,打造优秀互联网企向社会展示风采的重要窗口,2022湖南省互联网企业50强发布会将于12月21日在长沙举王飞跃未来企业将是生物人数字人机器人三类员工共同协作元宇宙METAVERSE人工智能及其衍生的工具或将在未来成为知识工作者在知识车间知识车床和知识流水线上的测量机器如果知识工作可以衡量,我们应该如何在此基础上提高知识工作者的生产力?明势资本夏令把握科技企业发展周期耐心尤为重要夏令。资料图如今科技投资很热,但值得注意的是,科技企业的发展有一定的周期,从技术验证到商业成功至少需要8到10年的时间。投资人要有足够的耐心对创业者提供支持,这是尤为珍贵的。明势资一所国门小学坚持22年红领巾护界碑中青报中青网记者谢洋大山绿哩啰,大江清哩啰,青山绿水映领巾,映领巾啰,护界碑啰,爱界碑,风里雨里都不停啰,个个都是好队员啰。12月14日傍晚,护碑歌的歌声在中越边境的1346(2)69岁赵雅芝吃什么仙丹!穿紫风衣综艺跳舞,年近七旬魅力不减当年在诞生初期,风衣可只是被用来遮风挡雨的,但是随着时尚的发展,同时在设计师的理念下,风衣不单单只是遮风挡雨那么简单,一下子进化成为了秋冬季节的必备外套,加上后期跟衣品之间的搭配,风衣沈腾妻子离婚风波后露面!42岁身材发福肥肉抢镜,被嘲胖过贾玲12月27日,沈腾的妻子王琦在电影绝望主夫的首映礼上现身,她本次受邀来到首映礼上观看电影被媒体拍下,但她的身体状态引发网友的担忧。照片中王琦梳着高马尾,耳垂上戴着昂贵奢华的耳坠,穿张馨予越来越自信,穿深V长裙秀出沙漏身材,嫁对人就是不一样!头条创作挑战赛一个女人的自信,流露在眉眼之间,也流淌在举手投足之处。任何一个细节,都可以暴露女人的自信与否。真正自信的女人,不过分张扬,也不炫耀浮夸,独自静谧的绽放。结婚后的张馨予
入职现在公司一年多了,公司氛围很压抑,上班时间除了工作内容上的交流,就没人说话了,很痛苦怎么办?我喜欢安安静静的办公环境,思路清晰效率高,偶尔同事交流一下工作内容。上班时间嘻嘻哈哈的说话聊天,真真的没个工作样,我很烦!下班了,你该咋玩咋玩。你痛苦还是因为你想多了,压抑的慌。其我家电脑是i9配置的,现在配置低了不够用,想升级高一点配置的,求推荐?我觉得题主可能是一个电脑小白,当然了,我也是一个电脑小白,只不过题主可能比我还要小白。题主只是说了一个cpu是i9的配置,其实很难说电脑应该再如何升级了。因为电脑的运行需要多个板块联想事态会如何发展?支持司马南!支持倪光南院士!柳传志和曾茂朝以卑劣的手段把倪光南院士排斥出联想集团就是表明他们道德败坏!5G门与捐献电脑给美军纯粹就是卖国行为!所以呼吁政府有关部门严查侵吞国有资产的明知道虚拟币风险高,为什么还有那么多人投资虚拟币呢?说白了总认为自己不是那个被割韭菜的人其实很正常,每个人都有赌性,赌都认为,自己不可能是最后一个,但是也不可能是第一个。我是戴钢盔的zzz,我来回答。一坚信这是大势所趋一部分人之所以多地延长产假,你会考虑再生一个吗?孩子生命有很多个188天,剩下的日子并没有解决。除了时间,钱也是问题,养两个三个孩子,付出的资本越多,现在内卷这么严重,孩子和家长的压力都大!算了,不生了!省点精力多陪陪大宝!不会在湖南出生的知名歌唱家与歌手你能知道哪几位?在湖南出生的知名歌唱家与歌手我仅知道如下十三位周笔畅1985年7月26日出生于湖南省长沙市,毕业于广州星海音乐学院,流行乐女歌手。代表作笔记对嘴隔墙花最美的期待谁动了我的琴弦周深1刚入坑csgo,如果将天禄比喻成lol战队,哪个最合适?解忧游戏社为您解忧,我是社长。天禄科技在2007年正式成立电子竞技俱乐部。旗下有绝地求生CSGO,还有英雄联盟(没想到吧,因为天禄英雄联盟战队成绩不是很理想,所以多数人不知道)GD当初皇马为什么要卖掉罗本?就在本周已经37岁的罗本,在其个人社交媒体账号正式宣布告别荷兰格罗宁根俱乐部,而此前小飞侠已经做出了个人第二次退役的决定。荷兰人的告别简单而又饱含对这支培养了自己母队的热爱,感谢你你觉得济南哪个地方更适合居住?我以一个新济南人的身份回答一下吧!什么叫做适合居住?我理解为环境宜人,卫生干净,安静不乱,购物方便,学校较多,交通优越,等等!济南各区现在卫生都不错,以前的污染大户高新区,随着济钢茅台涨幅超过百倍,为何没人能把握住机会?如何抓到下一个茅台?股市是一个淘金场,留下的都是和公司共成长的价值投资者。一个成长股,一要具有很深的护城河,别人模仿不来二要审时度势,切合未来产业发展趋势三要保持定力,具有价值投资的信念。首先茅台股价幼儿园老师的对象一般是什么职业?什么职业都有1。幼儿园老师,基本上全面女老师,这是由幼儿园的性质和女老师耐心细腻的性格决定的。近几年来,国家对幼教事业加大了投资力度,增设了一座又一座的幼儿园,特别是乡村幼儿园,更
友情链接:快好知快生活快百科快传网中准网文好找聚热点快软网