大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;
}
答案 0 :(得分:0)
执行相同的操作两次而不是一次运行时加倍。这被视为渐近复杂度分析中的“常数乘数”,并被忽略。