早教吧作业答案频道 -->数学-->
设计至少两种不同算法求解x的n次幂,分析各算法时间复杂度
题目详情
设计至少两种不同算法求解x的n次幂,分析各算法时间复杂度
▼优质解答
答案和解析
第一种:直接一个for循环将n个x相乘,时间复杂度明显是O(x)
第二种:利用递归(其实不是递归也行的),举例2^9,那个变成2^4 * 2^5,2^4变成2^2 * 2^2,此时2^2只需算一次,即是求x^n,若n是奇数,则x^(n/2) * x^((n+1)/2),若是偶数,则t=x^(n/2),t*t,并且可通过备忘录方法,即定义一个数组,每计一次,把其存进数组,如2^2=4,那么array[2]=4,因为array[2]可能会出现多次,所以使用递归前先看一看该数组位是否为0,是则正常递归,不是则直接用那个数据不用递归了.时间复杂度是O(logn)
第二种:利用递归(其实不是递归也行的),举例2^9,那个变成2^4 * 2^5,2^4变成2^2 * 2^2,此时2^2只需算一次,即是求x^n,若n是奇数,则x^(n/2) * x^((n+1)/2),若是偶数,则t=x^(n/2),t*t,并且可通过备忘录方法,即定义一个数组,每计一次,把其存进数组,如2^2=4,那么array[2]=4,因为array[2]可能会出现多次,所以使用递归前先看一看该数组位是否为0,是则正常递归,不是则直接用那个数据不用递归了.时间复杂度是O(logn)
看了设计至少两种不同算法求解x的n...的网友还看了以下:
设集合s={0 1 2 3 4 5} A是s的一个子集当x属於A 时 若有x-1不属於A且x+1不 2020-04-06 …
设不等试f(x)≥0的解集是1,2,g(x)≥0的解集是空集,则不等式f(x)/g(x设不等试f( 2020-04-27 …
设函数f(x)=2x+3,g(x+2)=f(x),求g(x)表达式 g(x+2)=2x+3g(x+ 2020-05-17 …
急求高次不等式1)设不等式ax^2-(a+1)x-3>0对一切a属于(1,2]都成立,求x的范围. 2020-06-10 …
在初中几何证明题时,如果运用到设某个角为x,要不要写为设某角为x°?在初中几何证明题时,如果运用到 2020-06-14 …
仔细阅读下面问题的解法:设A=[0,1],若不等式21-x-a>0在A上有解,求实数a的取值范围. 2020-07-13 …
法向量怎么设?不是设向量n=x,y,再和已知向量联立,这样不是还是有3个未知数吗?答案上为什么设的 2020-07-30 …
高等代数多项式定理的逆定理证明没看懂?逆定理:设p(x)是次数大于零的多项式,如果对于任何多项式f 2020-08-01 …
复变函数中f(z)=u(x,y)+iv(x,y)化成f(z)的形式中用的设零法是怎么证明的已知f(z 2020-10-30 …
有四个数成等比数列,将这四个数分别减去1,1,4,13,则成等差数列,则这四个数的和是——设四个数为 2020-11-18 …