- 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分)编写递归函数计算Fibonacci数列,能避免重复计算
输入:input.txt,仅包含一个整数n(0-90)
输出:程序应能检查输入合法性,若有错误,输出错误提示“WRONG”;否则输出F(n)。两种情况都输出一个回车(形成一个空行)。所有实例均应在30秒内输出结果。
提示:可用一数组保存Fibonacci数列,用一个特殊值表示还未计算出Fibonacci数,递归调用前先检查数组,若已计算,直接取用,不进行递归调用;若未计算,调用递归函数,计算完成后保存入数组。实际上,这种方法得到了F(1)-F(n),而不仅是F(n)。
另外,注意数据类型取值范围问题。VC 6.0中,长整型为LONGLONG,而其输出用%I64d。
(3分)(教材习题5)编写递归函数,求n个元素集合的所有子集。不妨令集合元素为小写字母,原集合为{‘a’, ‘b’, …, ‘a’ + n - 1}。
输入:input.txt,仅包含整数n(1-26)。
输出:若输入合法,输出集合的所有子集;否则输出“WRONG”。子集输出格式为每行一个子集,空集用空行表示,非空集合每个元素间用一个空格间隔,最后一个元素之后不能有空格。例如,对n=3,可能的输出为:
―――――――――――
a
a b
a b c
a c
b
b c
c
――――――――――――-
提示:递归函数一般设计思路是将问题求解分为若干阶段,每个阶段有多种选择,则每个阶段尝试各种选择就构成函数主体,而“进入下一阶段”则用递归调用完成。对本问题,子集中包含元素的选择可作为“阶段”,而每个元素“是否在子集中”可作为“每个阶段的多种选择”。有个地方需要一些技巧:在何时安排输出,可达到要求的顺序?
常用技巧:集合用什么样的数据结构保存、处理
一般高级程序设计语言都不提供“集合”数据类型,因为集合大小不固定,且进行运算大小变化可能很剧烈。一般思路是用数组或链表(线性表)来保存集合,数组元素(链表节点)对应集合元素,集合运算的效率较差,可能会频繁改变数组、链表大小。
但如果可能的集合元素是有限个,如本题,有一种较好的方法,仍然可用数组,但数组元素不是保存集合元素,而是每个数组元素固定对应一个可能的集合元素,数组元素类型是布尔值(t/f,0/1),表示对应元素是否包含在本集合内,显然本题用此方法很适合。还可进一步优化,由于每个数组元素值只可能是0/1,因此无需占用一个整型字,占用一位即可,这种“位表示法”的另一好处是将集合的操作转换为二进制位运算,效率非常高。比如,对本题,1101可能就表示{a, c, d}(a-最低位),那么{a, d, e, f}的位表示是什么?两个集合的并集用两个二进制数的什么运算即可完成?交集呢?如果使用这种方法,无需递归即可得到所有子集,当然,按题目要求,大家还应该设计递归函数。
您可能关注的文档
- 文秘人员业务培训.doc
- 文秘写作与大学生成长.doc
- 文秘培训班PPT(2版印刷).doc
- 文秘岗位绩效考核表.doc
- 文秘必备知识文秘专业知识.doc
- 文秘每天事务统计表.doc
- 文秘管理与应用写作作业(2).doc
- 文秘管理与应用写作作业1.doc
- 文秘管理与应用写作部分内容.doc
- 文秘类就业形势严峻.doc
- 通讯社行业全球布局现状与未来五到十年发展预测.docx
- 服务贸易行业创新服务模式创新趋势报告:2025年现状与未来十年展望.docx
- 新能源储能技术2025年技术创新与产业布局报告.docx
- 2025年智能驾驶技术突破与城市交通智能化解决方案报告.docx
- 2025年电子束量测设备国产化产业政策环境与市场潜力评估报告.docx
- 2025年智能电动汽车智能驾驶系统在长途行驶中的能耗优化报告.docx
- 2025年纺织行业环保纤维与循环经济模式报告.docx
- 2025年新能源行业绿色能源市场潜力与政策支持分析报告.docx
- 2025年氢能源产业链股权激励模式研究及效果评价报告.docx
- 2025年新能源汽车电池热管理系统能耗降低与新能源汽车市场拓展报告.docx
文档评论(0)