- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 2.6? 递归关系 递归关系可用于解决一些特定的计数问题。 递归关系是序列中第n个元素与它相邻前若干个元素之间的关系。 例如 1、第一个数是5; 2、将前一项加3得到后一项。 5, 8, 11, 14, … 递归关系 a1 = 5, an = an-1+3 * 定义2.6.1 对序列a0, a1, a2, …,an - 1, …, 用a0,a1,a2, …,an - 1中的某些项表示an的等式称为递归关系(recurrence relation)。显示地给出序列a0, a1, a2, …的有限项的值,称为初始条件(initial condition)。 显然,递归关系和确定的初始条件一起,才能确定一个序列。 * 例2.6.1 某人投资1000元,每年可收益12%。An表示他在第n年末的总资产。求出定义序列{An}的递归关系和初始条件。 解 序列{An}的递归关系和初始条件分别为: An = An - 1+0.12×An -1= 1.12 An -1, n≥1 , A0 = 1000 * 例2.6.2 Sn表示不含子串“111”的n位字符串的个数。求出序列{Sn}的递归关系和初始条件。 解 序列{Sn}的递归关系和初始条件分别为: Sn = Sn-1+Sn-2+ Sn-3,n≥4, S1 = 2, S2 = 4, S3 = 7。 * 2.7 计数问题的应用 例2.7.1 7个科学工作者从事一项机密的技术研究,他们的工作室装有电子锁,每位科学工作者都有打开电子锁用的“钥匙”。为了安全起见,必须有4位在场时才能打开大门。试问该电子锁至少应具备多少个特征?每位科学工作者的“钥匙”至少应有多少种特征? 解 为了使任意3个人在场时至少缺少一个特征而打不开门,该电子锁应具备C(7,3)=35种特征;每个科学工作者的“钥匙”至少要有C(6,3)= 20种特征。 * 例2.7.2 某一制造铁盘的工厂,由于设备和技术的原因只能将生产盘子的重量控制在a克到(a+0.1)克之间。现需要制成重量相差不超过0.005克的两铁盘来配制一架天平,问该工厂至少要生产多少铁盘才能得到一对符合要求的铁盘。 * 例2.7.2 解 将铁盘按重量分类, 所有a克到a+0.005克的分为第一类; a+0.005克到a+0.01克的分为一类; a+0.01克到a+0.015克的又为一类,…., 最后,a+0.095克到a+0.1克为一类,共计20类, 由鸽笼原理知,若该工厂生产21个铁盘,那么就能得知有两个铁盘属于同一类,因而它们之间的重量差将不超过0.005克。 * 例2.7.3 Fibonacci数列 假定一对新出生的兔子一个月又成熟,并且再过一个月开始生出一对小兔子。按此规律,在没有兔子死亡的情形下,一对初生的兔子,一年可以繁殖成多少队兔子? 解 因为Fn = Fn-1 + Fn-2,所以根据迭代法,有 F12 = F11 + F10 = 2F10 + F9 = 3F9 + 2F8 = 5F8 + 3F7 = 8F7 + 5F6 = … = 89F2 +55F1 = 89 + 55 =143 。 * 例2.7.4 计算下面算法中基本操作的次数算法 输入:s1, s2, … ,sn和序列的长度。 输出:s1, s2, … ,sn,按非递减顺序排列。 * 例2.7.4 (续) 1. selection_sorts(s,n){ 2. //基本情况 3. if (n= =1) 4.return 5. //找到最大的元素 6. max_index = 1 //初始时认为s1是最大的元素 7. for i=2 to n 8. if (sismax_index)//比较得到较大的元素,并更新最大元素 9. max_index = i 10. //将最大的元素移至序列尾 11. swap((sn, smax_index) 12. selection_sort(s, n-1) 13. } * 例2.7.4 解 设计算n个数排序的比较执行次数为bn,则该算法中的比较语句的执行次数的递归关系为: bn= bn-1 + n – 1, 其初始条件为:b1 = 0。 * 例2.7.4 解(续) 用迭代法求解该递归关系: bn= bn-1+n–1 = bn-2+n–2+n-1 = bn-3+n–3+n–2+n–1 = … = b1 + 1 + 2 + … +n–3 + n–2 + n–1 = 0 + 1 + 2 + … +n – 3 + n–2 + n–1 = n(n-1)/2。 * 2.8 本章总结
您可能关注的文档
最近下载
- 初中数学几何模型渗透 (1).pptx VIP
- 2023年第二季度分级护理质量持续改进分析报告(鱼骨图).docx VIP
- 医院意识形态工作计划.docx VIP
- 中国医师节简介宣传培训讲座演讲PPT课件.pptx VIP
- (17)--2.列宁:《国家与革命》,《列宁专题文集·论马克思主义》,人民出.pdf VIP
- 建设工程项目施工成本控制培训教材PPT课件.pptx VIP
- 超星尔雅学习通【学术规范与学术伦理(华东师范大学)】章节测试附答案.docx VIP
- X制造业公司质量管理QMS方案.pdf VIP
- 儿童胃管及肠管置管专家共识.pptx VIP
- Q-CAYT-13.3-2014汽车零部件油漆涂层 第3部分 内、外装塑料件.docx VIP
文档评论(0)