一个算法对于大小为100的输入花费0.5ms。求1min能解-查字典问答网
分类选择

来自范春年的问题

  一个算法对于大小为100的输入花费0.5ms。求1min能解决多大规模的问题?a.是线性的答案:12000timesaslargeaproblem,orinputsize1,200,000b.N(logN)答案:inputsizeofapproximately425,000c.N^2

  一个算法对于大小为100的输入花费0.5ms。求1min能解决多大规模的问题?

  a.是线性的答案:12000timesaslargeaproblem,orinputsize1,200,000

  b.N(logN)答案:inputsizeofapproximately425,000

  c.N^2答案:√12000timesaslargeaproblem,orinputsize10,954

  d.N^3答案:120001/3timesaslargeaproblem,orinputsize2,289

  我的解法是求出这个比例系数K,然后带入时间求解,K*复杂度=T.

  a是线性的,也就是100K=0.5*10^-3,然后K=0.5*10^-3/100,解0.5*10^-3/100N=60,解得:1.2*10^7,错误

  b:完全不会解这个式子

  c:相同的解法,100^2K=0.5*10^-3,K=0.5*10^-7,解得N=sqrt(12*10^8),这和结果的10954差的太多了!

  我不知道我的解法哪里有问题,复杂度越高,差的数字就越大.到底是哪里出了问题了?拜托了!

2回答
2020-12-10 20:57
我要回答
请先登录
冯定国

  你的没有错误,所有的错误是写答案的家伙把60S和0.5ms的倍数算错了,他算成12000,少了一个0,不过他的算法比你精简。K根本是不必要的。

2020-12-10 21:00:46
冯定国

  times的意思是“倍数”。60秒是0.5毫秒的120000倍。他算成12000倍,所有的依据都是这样来的。

  a时间是120000倍,所以数量是120000*100

  logN是以10为底求对数。log(100)=2(意思是10的2次方=100).

  经过计算425,000*log425000约等于2400000除以200等于12000(他又少算了一个0)

  c12000开根号是109.54乘以100就是10954,而你是120000开根346.41,乘以100就是34641.这就是你们的差别。

2020-12-10 21:02:55

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •