我有两个for循环,这意味着我有O =(N²)。 因此,如果N为5000,则为25000000(如果它执行一次)。如果我执行它一旦这是正确的但如果我执行10次,它需要更多的步骤。这应该发生吗?
答案 0 :(得分:0)
big-O表示法用于描述算法步骤的渐近数。它用于比较大输入的不同算法。例如堆排序和合并排序位于 O ( n log n )中。因此,它们比 O ( n ^ 2)中的插入排序渐近更快。
运行相同的算法,常数不会改变其复杂性,而大O类只是一个估计而不是步数的精确度量。因此,说你的算法需要25,000,000个步骤一定不正确(例如 n ( n - 1)/ 1,000,000在 O ( n ^ 2),也是。)