早教吧作业答案频道 -->数学-->
设计至少两种不同算法求解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...的网友还看了以下:
以下哪种概率算法是对的?计算双色球中二等奖的概率:方法一:从01至33这33个红色号码中任意选择6 2020-04-07 …
小刺猬写拼音.(1)把下面的统计图画完整.(2)把统计表填完整.(3)填一填,说一说.()最多,( 2020-04-09 …
计算行列式第一行a1^na1^(n-1)*b1...a1*b1^(n-1)b1^n第二行a2^na 2020-07-09 …
该图为116°E经线的一段L。读图完成问题。小题1:经线L段最可能跨越的纬度是()A.20°N至2 2020-07-18 …
试设计一个算法,将数组R中R[0]至R[N-1]循环右移P位,并要求只用一个单位大小的附加存储,数 2020-07-30 …
园林公司对上海植物园内j828nn平方米草坪进行护理,原计划三n少工作日完成,照这样计算,工作55少 2020-11-21 …
A城市介于45°12′N至46°N之间,126°42′E至127°39′E之间。A城市性质定位为以机 2020-11-28 …
在任意n阶连通图中,其边数()A.至多n-1条B.至少n-1条C.至多n条D.至少n条 2020-12-14 …
已知每次试验的成功概率为p(0<p<1),重复进行试验直至第n次才能得r(1≤r≤n)次成功的概率为 2020-12-17 …
A.咀嚼(jué)羞怯(qiè)随声附和(hé)B.喑哑(ān)穿梭(suō)阡陌交通(xiān)C 2020-12-27 …