早教吧作业答案频道 -->数学-->
设计至少两种不同算法求解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...的网友还看了以下:
语法重复吗?从上到下依次执行~这句话是不是有语法错误,因为依次就是按一个顺序,而从上到下就是按照从 2020-05-16 …
关于概率,重复不重复,有序无序:a个东西里面选b个,有序和无序的,重复不重复,各有几种选法?举个例 2020-06-11 …
有横竖各五排,用12345排进去,使每横竖数字都不重复,且第一横排已经列出,求有多少种排法…不急, 2020-06-11 …
生物复制n次和第n次复制的区别世上说DNA分子复制的规律需要注意:若DNA分子中有某碱基M个,则第 2020-06-16 …
关于高次复合函数的求导问题想问一道高次复合函数的求导问题!y=(2x+1)的五次方乘以(4-x)的 2020-07-20 …
关于二元一次方程求二元一次方程的代入消元法、加法消元法、减法消元法、复杂的加减消元法的格式.我不要 2020-08-03 …
如何灵活运用所学知识?我该上高三了,现在我正在复习高中的知识.但是每次复习完课本和《五+三》后在做习 2020-11-27 …
如何控制某定价条件在订单中只输入一次?各位有没有办法控制在做订单时,价格条件只输入一次。虽然当同一条 2020-12-21 …
英语单词怎么背是要快速的临时记住就过,以后再复习.还是慢慢背花几分钟背的熟点?要一次背几个小时吗?还 2020-12-25 …
在文艺复兴以来出现了罗马法的复兴,各城邦国家,无论是统治者还是市民阶层都从成长的罗马法学家那里得到强 2021-01-14 …