早教吧作业答案频道 -->数学-->
考研题,求时间复杂度,请说明下理由,假定问题规模为N时,某递归算法的时间复杂度记为T(N),已知T(1)=1,T(N)=2T(N/2)+N/2,用O表示的时间复杂度为()AO(N)BO(NlogN)CO(N²)DO(N²logN)
题目详情
考研题,求时间复杂度,请说明下理由,
假定问题规模为N时,某递归算法的时间复杂度记为T(N),已知T(1)=1,T(N)=2T(N/2)+N/2,用O表示的时间复杂度为()
A O(N) B O(NlogN) C O(N²) D O(N²logN)
假定问题规模为N时,某递归算法的时间复杂度记为T(N),已知T(1)=1,T(N)=2T(N/2)+N/2,用O表示的时间复杂度为()
A O(N) B O(NlogN) C O(N²) D O(N²logN)
▼优质解答
答案和解析
答案是B
根据条件递推:
T(N) = N/2+2T(N/2) = N/2+2*(N/4+2T(N/4)) = N/2 + N/2 + 4T(N/4)
= N/2 + N/2 + N/2 + 8T(N/8) = .
可见 N 每次除2,是按 log 递减的,所以在 logN 次以后减为1,又因为T(1)=1,
所以一共有 logN 个 N/2
也就是 N/2 * logN
所以答案是 O(NlogN) .
根据条件递推:
T(N) = N/2+2T(N/2) = N/2+2*(N/4+2T(N/4)) = N/2 + N/2 + 4T(N/4)
= N/2 + N/2 + N/2 + 8T(N/8) = .
可见 N 每次除2,是按 log 递减的,所以在 logN 次以后减为1,又因为T(1)=1,
所以一共有 logN 个 N/2
也就是 N/2 * logN
所以答案是 O(NlogN) .
看了 考研题,求时间复杂度,请说明...的网友还看了以下:
关于sp2sp3杂化的问题(一)比如NO2-分子中心N应该是6电子采取sp2杂化那应该是(1)N给每 2020-03-30 …
激发态电子式的问题N,O,F,Ne有激发态电子式吗?是怎样的呢?依据电子排布式判断化合价的原理是什 2020-04-06 …
下面多音字的注音不完全正确的一组是()A.难难题nán灾难nàn困难nán遇难nànB.着着装zh 2020-05-14 …
已知数列{An}满足An+1=2An+3*2^n,A1=2,用定义法求数列{An}的通项公式一定要 2020-05-16 …
A.O(1),O(1)B.O(n),O(1)C.O(n2),O(1)D.O(n),O(n) 2020-05-26 …
谁帮我做下下面的关于时间复杂度的习题?f(n)=100n^3+n^2+1000,g(n)=25n^ 2020-06-12 …
求给以下算法复杂度排序增长速度由慢到快1)O(n^(3/4))O(log(n)^5)O(2^n)O 2020-07-23 …
一个有关大O(阶)的问题求两个单调递增函数f(n)和g(n)(n为自然数),f(n)≠O(g(n) 2020-07-31 …
设f(N)、g(N)是定义在正数集上的正函数.如果存在正的常数C和自然数N0,使得当N≥N0时有f 2020-07-31 …
选出下面各项中字音有误的一项:A泥淖nào羞赧nǎn忸怩ní泥墙nìB睥睨pìnì亲昵nì酿造nià 2020-11-07 …