【发布时间】:2013-12-07 15:58:19
【问题描述】:
假设我们有一个算法,它遍历 n 个数字的列表两次,并计算一次运行中大于 50 的数和另一次运行中小于 50 的数,并将它们存储在两个变量中。 如果我们通过在每一步中不仅增加一个变量而且增加其中一个变量来将其更改为在一次运行中执行相同操作,我们是否会更改算法的时间复杂度?我们会更快地考虑新的吗?
我知道它需要更少的步骤,但不确定时间复杂度表示法。
编辑:
伪代码1:
for (i = 0; i < TOTAL_NUMBERS; i++) {
if (numbers[i] >= 50) {
greaterThan50++;
}
}
for (i = 0; i < TOTAL_NUMBERS; i++) {
if (numbers[i] < 50) {
lessThan50++;
}
}
伪代码2:
for (i = 0; i < TOTAL_NUMBERS; i++) {
if (numbers[i] >= 50) {
greaterThan50++;
}
else {
lessThan50++;
}
}
【问题讨论】:
-
当您说“时间复杂度”时,您指的是大 O 符号吗?还是实际运行时间?