O=(N²) 执行十次会变慢?
O=(N²) slower when executed ten times?
我有两个 for 循环,这意味着我有 O=(N²)。
因此,如果 N 为 5000,则为 25000000(如果执行一次)。如果我执行一次这是正确的,但如果我执行 10 次,它需要更多的步骤。这应该发生吗?
大O符号用于描述算法的渐近步数。它用于比较大输入的不同算法。例如堆排序和合并排序在O(n日志n)。因此,它们渐进地 比 插入排序 快 O(n ^2).
运行 相同的算法一个常数不会改变它的复杂性,大 O class 只是一个估计而不是对步骤数的精确度量。因此,说您的算法需要 25,000,000 步一定是不正确的(例如 n(n - 1) / 1,000,000 在 O (n^2), 也是).
我有两个 for 循环,这意味着我有 O=(N²)。 因此,如果 N 为 5000,则为 25000000(如果执行一次)。如果我执行一次这是正确的,但如果我执行 10 次,它需要更多的步骤。这应该发生吗?
大O符号用于描述算法的渐近步数。它用于比较大输入的不同算法。例如堆排序和合并排序在O(n日志n)。因此,它们渐进地 比 插入排序 快 O(n ^2).
运行 相同的算法一个常数不会改变它的复杂性,大 O class 只是一个估计而不是对步骤数的精确度量。因此,说您的算法需要 25,000,000 步一定是不正确的(例如 n(n - 1) / 1,000,000 在 O (n^2), 也是).