考虑以下伪代码:
a< - [0,0,0](将3d矢量初始化为零)
b< - [0,0,0](将3d矢量初始化为零)
c< - a。 b(两个载体的点积)
在上面的伪代码中,什么是翻页计数(即数字浮点运算)?
更一般地说,我想知道的是,当查看算法的复杂性时,变量的初始化是否计入总浮点运算。
答案 0 :(得分:1)
在您的情况下,a
和b
向量均为零,我认为使用零来描述或解释触发器操作不是一个好主意。
我会说给定向量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
次操作或失败。
我希望上面的例子能给您直观的认识。