我有两种算法:A()
和B()
。它们执行一些算术运算:
A()
:
-n-1
的补充
-n
减去
B()
:
-n-1
的补充
-n
减去
-n
平方(2的幂)
-1
平方根(1/2的幂)
我将A()
定义为执行2n-1
操作,将B()
定义为执行3n
操作。如果您感到好奇,A()
和B()
分别使用直线度量和欧氏度量来计算n空间中各点之间的距离。
如何描述每种算法的执行时间成本?计算机如何处理特定的算术运算?假设加法花费了1个单位时间,那么减法也是如此。但是乘法或除法呢?平方根?
A()
比B()
少执行约33%的操作,但这无法描述每个操作的执行时间。我怎样才能最好地估计每个关于n
的执行时间?我可以肯定地假设A()
比B()
快33%,但这是下限。