如何获得Cost值算法分析

时间:2017-02-27 16:05:02

标签: algorithm

最近,我一直在学习算法设计,它涉及到哪里获得增长的顺序(如果我弄错了)。我从插入排序到运行时间看到的是计算算法,也许它被称为最坏情况。事情是我无法理解找到n。例如:

print "Hello"
for i = 0 to n:
  print i * 1
print "end of program"

所以,如果我想计算运行时间,我想如何得到n并计算T(n)。问题我相信我基本不懂。我用Google搜索,没有让我满意,也无法理解。

谢谢。

2 个答案:

答案 0 :(得分:1)

n是算法输入大小的度量。

例如排序:
n是要排序的元素数量

例如,在列表中插入元素:
n是列表中已有的元素数

答案 1 :(得分:0)

'N'是运行一个算法的对象/元素/实体的数量。 算法的性能取决于此“N”更改时的执行方式。 性能可以通过执行时间(执行的操作次数)来衡量,即算法在一定的输入和内存使用情况下完全运行所花费的时间。

为了量化算法的性能,我们有复杂性分析。 在大多数情况下,我们使用Big-O复杂度,这是特定算法的最坏情况复杂性。

在排序算法(如插入排序)的情况下,我们有O(N^2)复杂度,这基本上意味着执行时间或否。通过算法执行的操作将在具有足够大的N值的情况下相当地增加。

no的示例图。复杂度为O(N ^ 2)的算法执行的操作   

Y轴:算法执行的操作次数

X轴:算法的输入大小