假设方法m1和m2是静态的无效的,并通过处理Object []类型的参数来计算相同的结果。经验上我们发现m1→T(N)= 100N和m2→T(N)= 10Nlog2N,其中时间以微秒为单位。对于什么尺寸的输入,最好使用m1和m2? 所以我会用大数字m1,而我会用小数字m2?只是检查答案。复杂性类
Q
复杂性类
-2
A
回答
6
您正在寻找N > 0
的值,因此100N > 10N log2 N
,所以这只是一个代数问题。将双方除以10N
,即得到10 > log2 N
,即N < 2**10
,即N < 1024
。并不难 - !)
1
嗯,登录 N的会打10的时候,N是1024,所以要根据您提供给我们的公式,你会用N <= 1024
第二个和第一个为N >= 1024
。 (你在边界上做什么并不重要 - 它们将是平等的。)
但是,从实际的角度来看,你应该很可能选择一个并保持那一个。你是否期望非常大的输入或许多小输入?这绝对是你的代码中的瓶颈?哪一种更简单的算法?
还有很多事情要决定哪个算法是最好的而不仅仅是给定输入中哪个算法最快。我宁愿保持一个简单的算法,它运行的速度比一个快速但却非常复杂的算法慢。
0
看看这个:http://www.wolframalpha.com/input/?i=plot+100*n+and+plot+10*n*log2(n)
我还没有想出如何修改,虽然规模。无论如何,以备将来参考。
相关问题
- 1. XSD:复杂类型属性?
- 2. 复杂性类的属性P
- 3. 复杂性复发
- 4. Java类加载器的复杂性
- 5. 复杂性()在枚举类方法
- 6. 复杂性问题类P,NP,EXP?
- 7. 减少服务类的复杂性
- 8. Web服务类型的复杂性
- 9. 复杂性证明
- 10. 降低复杂性
- 11. 复杂属性3.2.12
- 12. 通信复杂性
- 13. SQL`LIKE`复杂性
- 14. RandomAccessFile Java - 复杂性
- 15. Perl的复杂性?
- 16. Tableview UiDesign复杂性
- 17. 复杂性大O
- 18. itertools.permutations的复杂性
- 19. Object.keys()的复杂性?
- 20. 复杂性O(kM(n))多项式的复杂性?
- 21. KSOAP 2复杂类
- 22. Dijkstra算法的复杂性
- 23. TreeSet操作的复杂性
- 24. 复杂性的函数的
- 25. 算法的复杂性
- 26. Prolog程序的复杂性?
- 27. 有向图和复杂性
- 28. Magento中的复杂属性
- 29. 哪种复杂性mb_strlen?
- 30. Tricky Big-O复杂性
不,这是O(n log n),因为这是最重要的复杂性。 – 2009-10-17 18:35:18
当我回复你在Alex的回答中提出的评论时,是的,这是正确的。 – 2009-10-17 19:04:21