【设计至少两种不同算法求解x的n次幂,分析各算法时间复杂度】-查字典问答网
分类选择

来自谭波的问题

  【设计至少两种不同算法求解x的n次幂,分析各算法时间复杂度】

  设计至少两种不同算法求解x的n次幂,分析各算法时间复杂度

1回答
2020-03-20 18:35
我要回答
请先登录
刘汝元

  第一种:直接一个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)

2020-03-20 18:39:19

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •