范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

go语言使用递归与循环两种方式计算斐波那契数列

  题目
  给定一个正整数n计算出对应斐波那契数列对应的值使用递归方式借助切片用循环方式
  说明:递归函数的时间复杂度是Tn=O(f(n)),它表示随问题规模n的增大,算法的执行时间增长率和f (n)增长率成正比,这称作算法的渐进时间复杂度。 为了解决效率问题,可以将递归方式转换为循环方式,达到以空间换时间的效果。循环方式计算斐波拉契数列对应值时间复杂度仅O(n)。
  代码实现
  递归方式计算package main  import ( 	"fmt" 	"time" )  /* 用递归方式计算斐波拉契数列 	*/  func fibonacci(n int) (res int) { 	if n<=1 { 		// n==0或n==1时,返回值为1 		return 1 	} else { 		// n>=2时,结果需要递归计算前2位的值 		return fibonacci(n-1) + fibonacci(n-2) 	} }  func main()  { 	// 记录开始时间 	start := time.Now().Unix() 	 	num := 52 	// 给定一个值,计算结果 	fmt.Println(fibonacci(num)) 	 	// 打印总耗时 	fmt.Println("total(s):",time.Now().Unix() - start) }
  循环方式计算package main  import ( 	"fmt" 	"time" )  /* 以切片作为存储,用循环方式计算斐波拉契数列 相比递归方式,以空间换时间 	*/   func fibonacci(n int) []int { 	// 定义切片,用于保存结果 	var numList []int 	res := 0 	for i:=0;i<=n;i++ { 		if i==0 { 			numList = append(numList,1) 		} else if i==1 { 			numList = append(numList,1) 		} else { 			// 如果是n>=2,每个当前的值,等于切片的前2位之和 			res = numList[i-1] + numList[i-2] 			numList = append(numList,res) 		} 	} 	return numList }  func main()  {  	// 定义切片,用于保存结果 	var numList []int 	// 记录开始时间 	start := time.Now().Unix() 	 	num := 52 	// 给定一个值,计算结果 	numList = fibonacci(num) 	fmt.Println(numList[num])  	// 打印总耗时 	fmt.Println("total(s):",time.Now().Unix() - start) }
  结果比较
  用mackbookpro i7 2.7GHZ笔记本进行测试,结果如下:
  n
  n=40
  n=45
  n=50
  n=52
  n=80
  递归(秒)
  0
  5
  59
  163
  >600   循环(秒)   0
  0
  0
  0
  0
  备注: 当n=80时,由于测试等待时间过长,强制中断了执行。   从测试结果看出,当n逐渐增大,递归方式计算斐波拉契数列的时间复杂性急剧增加。当n值较大时可以考虑用循环方式代替。   类似的方式也可以用于,求阶乘、遍历目录、汉诺塔等问题的解决。在后期的文章中,我将这些内容进行补充,敬请期待,谢谢。

未来的电商,社交新零售!很长时间以来,微商行业的伙伴们会觉得我很轴,轴的可能有些固执,事实上也是这样的,我对一些观点理念方法论的的相信是非常坚定的,因为我认为,如果做的是没有方法论,或者方法论不够成熟的事烂片之王古天乐终于拿影帝,你被他骗了多少年昨晚,47岁的古天乐凭借杀破狼贪狼拿下第37届香港电影金像奖影帝。其实出道25年,古天乐曾凭借门徒一个好爸爸扫毒三次被金像奖提名,可惜最终全都失之交臂。从第27届金像奖第一次入围到奇正藏药冯柳入驻藏药龙头一年,戴维斯双击可期选股理由冯柳入驻奇正藏药近一年,公司股价整体处于震荡态势,近期成交量明显放大,资金关注度提升。证券简称奇正藏药评级A数据截止日期2019年9月30日单位亿元证券代码002287成立智动力业绩增长的光鲜背后,是对股东权益的漠视选股理由业绩大幅增长证券简称智动力评级C数据截止日期2019年9月30日单位亿元证券代码300686成立日期2004年所在地深圳一主营业务主营业务手机等消费电子功能性器件的研发生产安洁科技买买买之后即将商誉减减减,逆境能否反转?关注理由成交量上涨股价长期盘整年底商誉减值可能性较大证券简称安洁科技评级BBB数据截止日期2019年9月30日单位亿元证券代码002635成立日期1999年所在地苏州吴中一主营业务三棵树行业集中度提升,建筑涂料龙头加杠杆顺势而上选股理由净利润翻倍增长2019年涨幅近三倍成交量持续高位机构扎堆证券简称三棵树评级A数据截止日期2019年9月30日单位亿元证券代码603737成立日期2003年所在地福建莆田一主锐科激光国内激光器龙头,剑指历史新高选股理由新股上市一年有余,股价长期处于区间震荡态势,三季度营收大幅增长30,近期成交量缓步提升,短期有望实现箱体突破!证券简称锐科激光评级AAA数据截止日期2019年9月30日单位爱朋医疗疼痛管理龙头,巨幅震荡后何去何从选股理由次新股业绩稳定增长股价宽幅波动证券简称爱朋医疗评级A数据截止日期2019年9月30日单位亿元证券代码300753成立日期2001年所在地江苏南通一主营业务主营业务疼痛管理及坚朗五金基本面与股价双反转,戴维斯双击实锤了?选股理由业绩大幅增长股价底部反转成交量持续放大证券简称坚朗五金评级AA数据截止日期2019年9月30日单位亿元证券代码002791成立日期2003年所在地广东东莞一主营业务主营业务捷捷微电IGBT不是概念,国产化大趋势增长可期选股理由华为进军IGBT功率半导体分立器龙头营收稳定增长证券简称捷捷微电评级A数据截止日期2019年9月30日单位亿元证券代码300623成立日期1995年所在地江苏启东一主营业务飞荣达屏蔽导热材料龙头,积淀26年能否一飞冲天?行业逻辑15G领域行业增长2电子屏蔽导热材料市场集中度的提升3器件国产化趋势公司逻辑核心竞争力1研发与创新优势公司自设立以来26年,注重研发与创新,经多年研发生产积累,公司掌握了丰
华为nova9系列夜景拍摄解析,看完之后你也能学会9月29日,华为nova9系列正式开售。作为青春和潮流的代名词,华为nova系列从诞生之日起,就持续探索潮美设计与影像创新。此次全新的华为nova9系列,就继承了nova系列出色的科大讯飞召开新品发布会科大讯飞AI学习机T10惊艳亮相7月15日,主题为开启AI学习新时代的科大讯飞新品发布会在北京召开,科大讯飞董事长刘庆峰科大讯飞副总裁章继东等人出席了此次会议。会上,科大讯飞发布了新一代高端旗舰新品科大讯飞AI学ROG幻14AlanWalker典藏版领衔燃爆ROG电竞潮玩夜2021年8月18日,ROG与电音教主AlanWalker联手打造的ROG幻14AlanWalker典藏版正式发布。作为近两年的爆款产品,幻14一直被创作者视为全能的生产力工具。而共创智慧生活,HDC2021开发者大会将于松山湖开幕每年HDC开发者大会都将吸引全行业的瞩目关注,不少权威媒体都会争相报道。回顾往届,华为带来了HarmonyOS与HarmonyOS2。0,改变了用户的生活,带来了更加智慧的新体验。大连这一个小学培养出这么多国脚,评为中国足球的缩影,你服不服首先,东北路不能完全代表大连足球,但是作为重要储备,确实是大连足球一个现状的缩影。不过在中国足球史上,也有大连东北路小学的一笔。下面来看看它有过怎样的辉煌王大雷,1989年1月10当前市场上流行的智能电表通讯方式大致可分为这几种智能型电表是智能电网数据采集的主要设备,它担负着对电能数据的采集计量和传输的任务,是实现信息集成分析和信息呈现的基础。它由电源计量显示通讯安全时钟存储器和通断等部分组成,通过计算机在智能电表业的新兴市场国家占有越来越大的市场份额电力业是国民经济中的基础能源产业,随着社会经济的发展,电力业对电力的依赖性越来越大,供电可靠性和电能质量要求也越来越高。为了实现可靠安全经济高效的电网目标,实现经济社会可持续绿色发全球经济剧烈波动并不必然导致能源市场紧缺石油等能源除了具有战略储备物资属性之外,本质上还是商品,理解价格异动的原因必须从能源市场供求状况进行分析。观察能源市场环境,2020年新冠肺炎疫情全球性扩散导致全球经济出现大幅减速20212025年中国托育服务市场预测分析托育服务行业发展驱动因素中投产业研究院发布的20212025年中国托育服务市场投资分析及前景预测报告认为女性职业诉求增强是托育服务行业发展的一大驱动因素。长期以来,中国女性在养育子未来5年全球新能源汽车产业的预测分析20212025年全球新能源汽车产业影响因素分析一有利因素(一)全球电动化路线明确,推动产业链持续向上从全球发展来看,碳排放要求逐年趋严且叠加多国补贴政策等激励,欧洲市场电动化路线顺联动力角逐下沉市场成功出圈,启动全国路演迈向上市之路电商赛道不断变拥挤,即便有先发流量优势的电商玩家,也在思考如何打破同质化价格战的怪圈。经历六年小跑,社交电商顺联动力凭借差异化品质服务,在下沉市场中不断触及更多未被发掘的流量,从而