这两个算法哪个的速度快? 已知有实现同一功能的两个算法,其时间复杂度分别为O(2^n)和O(n^10),假设现实计算机可连续运行的时间为100天,又每秒可执行基本操作为10^5次。试问在此条件下,这两个算法可解决问题的规模(即n的范围)各为多少?哪个算法更合适?试说明理由不能用电脑和计算器,这题该咋做? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 动笔算一算就出来了:100天=100*24*60*60秒又,一秒钟可执行的基本操作为10^5次则,100天可执行的基本操作为100*24*60*60*(10^5)=864000000000次分别解方程:2^x=864000000000 ---- (1)x^10=864000000000-----(2)由方程(1)可估计出x在39-40之间,所以算法的最大规模为39由方程(2)可估计出x在15-16之间,所以算法的最大规模为15所以在当前条件下,用算法一更好。但是,算法一的复杂度是指数级的,算法二的复杂度是乘方级(10次方)的,通常指数级的增长速度快于乘方级,虽然2^n一开始增长较慢,但速度更快,所以一旦n增长到某个临界点之上,算法一耗费的时间最终将更多。至于这个临界点是多少,算起来太麻烦了,可能要借助计算机。 java的一段程序,不知道是什么方法,谁跟我解释一下,谢谢了!! 截取字符串的一个问题 有关Java类中方法的一个问题 HttpClient应用问题 局域网即时通信用java怎么编写? 小弟跪求 请问,如何让Java在后台响应前台的键盘事件? 树结构问题,求助! 求助:驱动问题。db2 ,webspere! ji 谁有完整的需求规格说明书,请发给我一份。。 java中获得当前路径的方法是什么?谢谢 jtextfield里的数据格式化问题 Javamail Pop3 删除邮件出问题
又,一秒钟可执行的基本操作为10^5次
则,100天可执行的基本操作为100*24*60*60*(10^5)=864000000000次分别解方程:2^x=864000000000 ---- (1)x^10=864000000000-----(2)由方程(1)可估计出x在39-40之间,所以算法的最大规模为39
由方程(2)可估计出x在15-16之间,所以算法的最大规模为15所以在当前条件下,用算法一更好。但是,算法一的复杂度是指数级的,算法二的复杂度是乘方级(10次方)的,通常指数级的增长速度快于乘方级,虽然2^n一开始增长较慢,但速度更快,所以一旦n增长到某个临界点之上,算法一耗费的时间最终将更多。至于这个临界点是多少,算起来太麻烦了,可能要借助计算机。