无法理解算法中的执行时间

时间:2016-02-02 16:00:42

标签: algorithm asymptotic-complexity execution-time

我很难确定算法中每个步骤的执行时间。我只是无法理解逻辑。

我们都知道在确定算法中的Big O或Theta之前,我们必须计算每一步的执行时间,然后根据执行时间计算顺序。

我发现计算订单比Big O或Theta更容易,但我的问题是计算执行时间。

示例:

for i=0  to **n** 

dothisStep

这个的执行时间是:(n + 1)这使得它成为O(N)的顺序 - 这是一个简单的,我理解为什么 - 我的问题是“更难的”。有时我应该得到n(n + 1)/ 2,有时n(n + 1),但我无法理解如何为什么!什么是规则

1 个答案:

答案 0 :(得分:1)

我认为在做这些问题时能帮到你的是想到当n接近无穷大时会发生什么。在n + 1的示例中,+ 1n相比变得非常微不足道。

你的另一个例子:n(n+1) - 再次,当n接近无穷大时添加1是非常微不足道的,所以我们放弃了+ 1。这会留下n(n) n^2