用于变量初始化的翻转计数

时间:2017-03-05 11:32:40

标签: time-complexity flops

考虑以下伪代码:

a< - [0,0,0](将3d矢量初始化为零)

b< - [0,0,0](将3d矢量初始化为零)

c< - a。 b(两个载体的点积)

在上面的伪代码中,什么是翻页计数(即数字浮点运算)?
更一般地说,我想知道的是,当查看算法的复杂性时,变量的初始化是否计入总浮点运算。

1 个答案:

答案 0 :(得分:1)

在您的情况下,ab向量均为零,我认为使用零来描述或解释触发器操作不是一个好主意。 我会说给定向量a带有条目a1,a2和a3,并且还给出了向量b带有条目b1,b2和b3。两个向量的点积等于aTb给出

aTb = a1*b1+a2*b2+a3*b3

这里我们有3个乘法运算 (i.e: a1*b1, a2*b2, a3*b3)和2个加法运算。总共我们有5次操作或5次翻牌。 如果要对n个维向量a_n和b_n进行概括,则将进行n次乘法运算和n-1次加法运算。总之,我们最终将进行n+n-1 = 2n-1次操作或失败。 我希望上面的例子能给您直观的认识。