计算原始操作,Big O表示法

时间:2016-10-11 16:34:37

标签: java primitive operations

假设我有一个名为int的{​​{1}}变量,我想知道语句中有多少原始操作:

count

它会是3吗?因为如果你以不同的形式写出来,例如:

count++;

它具有1次读取,1次操作和1次写入。那么这意味着语句count = count + 1; 算作3个原始操作吗?

2 个答案:

答案 0 :(得分:3)

是的,它可能被视为有3个操作。 这意味着它是一个恒定的操作数,因此对于Big O表示法,它就像只有1个操作或10个一样,只要它是常量。

答案 1 :(得分:0)

在大多数处理器(或虚拟机上,因为您使用" java"标记标记了您的问题),有一些特殊指令可以将值递增一小部分。

即。见https://en.wikipedia.org/wiki/Java_bytecode_instruction_listings - iinc

因此,我将简单增量计为1个基本操作(尽管在内部它仍然以read-increment-write的形式执行)。