大O - 检查方法然后返回方法vs赋值方法变量和返回变量?

时间:2015-12-27 01:09:08

标签: java algorithm stack runtime big-o

大O - 检查方法然后返回方法vs赋值方法变量和返回变量?

在A和B之间是否存在不同的运行时间。从我所看到的,我正在为第一个变量分配并重新使用它(O(n))。在第二个,我运行peek()两次,这将使它更慢(O(n ^ 2))。我对么?

A:

Object peek = stack.peek();
if (peek != null) {
    return peek;
}

else {
    return null;
}

B:

if (stack.peek() != null) {
    return stack.peek();
}

else {
    return null;
}

1 个答案:

答案 0 :(得分:0)

执行相同的操作两次而不是一次运行时加倍。这被视为渐近复杂度分析中的“常数乘数”,并被忽略。