首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设n是描述问题规模的非负整数,下面程序片段的时间复杂度是( )。 order(int j,int m) { int i,temp; if(j<m) { for(i=j;i<=n;i++) if(a[i]<a[j])
设n是描述问题规模的非负整数,下面程序片段的时间复杂度是( )。 order(int j,int m) { int i,temp; if(j<m) { for(i=j;i<=n;i++) if(a[i]<a[j])
admin
2017-11-20
52
问题
设n是描述问题规模的非负整数,下面程序片段的时间复杂度是( )。
order(int j,int m)
{
int i,temp;
if(j<m)
{
for(i=j;i<=n;i++)
if(a
<a[j])
{
temp=a
;
a
=a[j];
a[j]=temp;
}
j++;
order(j,m); //递归调用
}
}
选项
A、O(n)
B、O(nlog
2
n)
C、O(n
2
)
D、O(n
3
)
答案
C
解析
order()函数是一个递归排序过程,设T(n)是排序n个元素所需要的时间。在排序n个元素时,算法的计算时间主要花费在递归调用order()上。第一次调用时,处理的元素序列个数为n-1,也就是对余下的n-1个元素进行排序,所需要的计算时间应为T(n-1)。又因为在其中的循环中,需要n-1次比较,所以排序n个元素所需要的时间为
T(n)=T(n-1)+n-1 n>1
这样得到如下方程:
T(1)=0
T(n)=T(n-1)+n-1 n>1
求解过程为
T(n)=[T(n-2)+(n-2)]+(n-1)
=[T(n-3)+(n-3)]+(n-2)+(n-1)
=[T(1)+1]+2+…+n-1
=0+1+2+…+n-1
=n(n-1)/2
=O(n
2
)
转载请注明原文地址:https://www.kaotiyun.com/show/jNRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
蒙古军西征之后,罗斯处于()的控制之下。
詹天佑自主设计修建了中国第一条铁路是在()。
西汉初年,西域共有36国,其中以()人口最多。
下列关于国际联盟及其活动的叙述,正确的是()。
宋代由于旧坊制被打破,城市中行业分区性逐渐消失,北宋政府通过()来控制商人和商业。
解放军渡江战役中横渡长江的东西两个攻击点是()。
北约和华约两个组织对峙近半个世纪,其影响是()。
火的使用,是人类在征服自然的进程中所取得的伟大成果。人类开始使用天然火是在()。
全国高校院系调整的具体时间是()。
随机试题
提高设备的生产强度,可以实现在同一设备中生产出更多的产品,进而提高设备的生产能力。()
A.Yes,hedoesB.Would9:30beconvenientC.CanIhelpyouD.thisismynamecardE.outonbusinesstodayF.Itwon’tbelo
双眼视轴不交叉,物像的视觉方向交叉的为内直肌麻痹可见
胆道蛔虫症的腹痛性质是
乳腺癌来源于
如果监理工程师认为承包人提出的索赔证据不能足以说明其求索赔的合理性时,监理工程师可以( )。
誉为“俄罗斯音乐之父”的作曲家是________,其的歌剧《伊万.苏萨宁》和管弦乐幻想曲________分别开创了俄罗斯民族歌剧和民族交响乐的先河。
行政复议与行政复议法是一个概念。()
1945年抗日战争胜利,中国作为联合国安理会五大常任理事国之一,国际地位显著提高。其原因是()。
有以下程序#include<stdio.h>doublef(doublex);main(){doublea:0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf(’’%5.of\n’’,a);
最新回复
(
0
)