2014-10-22 124 views
3

您将如何确定一种算法是否比另一种算法渐近更快?假设一个方程是t(n)= 7t(n/2)+ n^2,另一个方程是t(n)= aT(n/4)+ n^2。你如何确定一个方程的哪个值比第一个更快。确定哪种算法渐近更快

任何帮助,将不胜感激。

回答

0

我不完全在分析算法性能的专家,但...

渐近,你把最大的两个术语来确定算法的增长。因此,您必须确定导致第一项的增长率高于第二项的“a”的值,但由于我们也将其与第一个方程进行比较,因此它必须具有比它更高的增长率以及。根据大师定理,这将是其中,f(n)。

使用在例如F(N)= N ,B = 4。因此,你将不得不解决登录一个值>日志 7> 2为一个。这是约。 48.5

编辑: 这不是我用来作为源,但我决定做一些谷歌搜索,以找到一个支持源。 https://math.dartmouth.edu/archive/m19w03/public_html/Section5-2.pdf

+0

谢谢!还有一个问题。渐近地意味着什么?我在谷歌搜索它,但无法得到它的把握。 – user3221162 2014-10-22 23:18:25

+0

基本上,这意味着我们关心大量输入的性能。渐近线是接近线的一部分,但在一个轴上从未到达零点,因为它接近无穷大。 – Taekahn 2014-10-23 01:52:34