网站大量收购独家精品文档,联系QQ:2885784924

day1基础算法.ppt

  1. 1、本文档共152页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 设S[I,J]表示初始值为I,目标为值J的关键字个数。 例如对于样例数据:S[1,1]=0;S[1,2]=2;S[1,3]=0;S[2,1]=1;S[2,2]=0;S[2,3]=2;S[3,1]=1;S[3,2]=1;S[3,3]=2 显然,一次移动就让两个元素“归位”的最多移动次数为: Max_Step = Min(S[1, 2], S[2, 1]) + Min(S[3, 2], S[2, 3]) + Min(S[1, 3], S[3, 1]) 进一步分析,一次移动只能让一个元素“归位”的最少移动次数为: Min_Step =(Step - 2 * Max_Step) * 2 / 3 (这里的Step表示初始值不为目标值的关键字个数) 不难看出,最少移动的步数为:Max_Step + Min_Step 第四部分 归纳策略 归纳法的基本思想 归纳法的基本思想是通过列举少量的特殊情况,经过分析,最后找出一般的关系。从本质上讲,归纳就是通过观察一些简单而特殊的情况,最后总结出有用的结论或解决问题的有效途径。 归纳法解题的过程 细心的观察; 丰富的联想; 继续尝试; 总结归纳出结论。 归纳法解题的过程 归纳是—种抽象,即从特殊现象中找出一般关系。由于在归纳的过程中不可能对所有的可能情况进行枚举,因而最后得到的结论还只是一种猜测(即归纳假设)。所以,严格说来对于归纳假设还必须加以严格的证明。 归纳策略解题应注意的问题: 从问题的简单具体状态分析入手,目的是去寻求可以推广的一般性规律,因此应考虑简单状态与一般性状态之间的联系。 从简单状态中分析出来的规律特征应能够被验证是正确的,不能想当然或任意地提出猜想,否则归纳出来的结论是错误的,必然导致整个问题的解是错解。 归纳策略的应用 例题1: 求前n个自然数的平方之和: S=12+22+32+……+n2 归纳策略的应用 【分析】这本是一道很简单的题目,但如果能找出S值与n的关系,则此题将更进一步得到简化,由数学证明得知: (12+22+32+…+n2)/(1+2+3+…+n) =(2n+1)/3 又由于 1+2+3+…+n=n(n+1)/2,因此得到: 12+22+32+…+n2=n(n+1) (2n+1)/6 但这只是通过总结归纳而得到的一种猜测,是否正确还需证明,对归纳假设的证明通常采用数学归纳法(证略)。 归纳策略的应用 例题2:若干个正整数之和为n,其中:n2000,试求它们乘积的最大值以及该最大值的位数k。 归纳策略的应用 【分析】根据数学规律可知,若要使和固定的数的乘积最大,必须使这些数尽可能的多为3,于是可推得以下规律: 当N mod 3=1 时,N可分解为一个4和若干个3的和; 当N mod 3=2 时,N 可分解为一个2和若干个3的和; 当N mod 3=0 时,N 直接分解为若干个3的和。 按照这一分解方法,所有因数的乘积必定最大。 注意:因N 的最大值可达2000,乘积将超过长整型数据范围,所以需用高精度运算。 归纳策略的应用 例题3:极值问题(最高时限15s) 已知m、n为整数,且满足下列两个条件: ① m、n∈1,2,…,K,(1≤K≤109) ② (n 2-mn-m2)2=1 编一程序,由键盘输入K,求一组满足上述两个条件的m、n,并且使m2+n2的值最大。例如,若K=1995,则m=987,n=1597,则m、n满足条件,且可使m2+n2的值最大。 归纳策略的应用 【分析】方法一 从初等数学的角度考虑: 由条件②(n 2-mn-m2)2=1得出: n 2-mn-m2 + 1 = 0 n 2-mn-m2-1 = 0 根据求根公式 N1,2=(m+△1,2)/2 n3,4=(m-△1,2)/2 其中: △1=sqrt(5*m2+4); △2=sqrt(5*m2-4); 归纳策略的应用 【分析】再考虑条件①。由于n1,因此排除了n3和n4存在的可能性. 又由于n和m是整数,因此△1和△2应为整数。 由于m2+n2单调递增,从m=k出发,按递减方向将m值代入n的求根公式。 只要△1(或△2)为整数、n1(或n2)为整数且

文档评论(0)

stzs + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档