m*n的问题,其实操作系统是用位移来代替乘法的,这才实现了o1的复杂度,对32bit的乘法,最多执行32次的位移和加法运算
次方问题归根到底是乘法问题,而每次乘法可以看作o1,所以算法就只能在减少乘法的次数上做功夫,我们可以把n做分解,表示成二进制形式,并且计算出前面的后面的也好计算。也可以使用递归,反正最后只需要logn次乘法
乘法问题,次方问题
最新推荐文章于 2020-12-25 19:08:01 发布
m*n的问题,其实操作系统是用位移来代替乘法的,这才实现了o1的复杂度,对32bit的乘法,最多执行32次的位移和加法运算
次方问题归根到底是乘法问题,而每次乘法可以看作o1,所以算法就只能在减少乘法的次数上做功夫,我们可以把n做分解,表示成二进制形式,并且计算出前面的后面的也好计算。也可以使用递归,反正最后只需要logn次乘法