我有这个练习来解决:
EX)您有2种算法。第一个是最佳情况下的O(n),最坏情况下是O(n ^ 3),另一个是两个情况下的O(n ^ 2)。假设最好的情况发生在90%的时间。你会选择哪一个?
我知道从一些n,90%* O(n)+ 10%* O(n ^ 3)> 100%*为O(n ^ 2)。但是,我怎样才能以数学方式证明这一点?
提前致谢!
答案 0 :(得分:0)
要获得基本印象,请尝试求解方程0.9 * n + 0.1 * n ^ 3> n ^ 2.
答案 1 :(得分:0)
感谢您的回答。
为了比较算法,如果您愿意,我们必须分析“常见案例”或“中等案例”。因此,我们可以达到两者的公式,即:
a)0.9n + 0.1n ^ 3 b)0.5n ^ 2 + 0.5n ^ 2.
现在我们可以比较两者。如果存在任何n> 0,则0.9n + 0.1n ^ 3> 0。 n ^ 2,b算法更好。
谢谢!