77问答网
所有问题
当前搜索:
一个算法的时间复杂度为
用C++函数描述
个算法
,并求出
时间复杂度
答:
int array[5][5];void ReMax(){ int i,j;///冒泡法,
时间复杂度为
5*5 for(i=0;i<5;i++)for(j=0;j<5;j++)if(array[max][may]<array[i][j+1]){max=i;may=j+1;} } void main(){ int i,j;//*a=(int*)malloc(5*sizeof(int));cout<<"请输入
一个
数组array[5][5...
什么是
算法
?
答:
一个算法的
优劣可以用空间复杂度与时间复杂度来衡量。
算法的时间复杂度
是指算法需要消耗的时间资源。一般来说,计算机算法是问题规模n 的函数f(n),算法执行的时间的增长率与f(n) 的增长率正相关,称作渐进时间复杂度(Asymptotic Time Complexity)。时间复杂度用“O(数量级)”来表示,称为“阶”。
一个算法的
执行频度为(3n2+2nlog2n+4n-7)/(10n),其
时间复杂度
多少?
答:
算法的
执行频度为(3n2+2nlog2n+4n-7)/(10n),因为当n增大时,最大项为3n/10,所以,其
时间复杂度为
O(n)。
下面程序段
的时间复杂度
是 ? i=
1
; while(i<=n) i=i*2
答:
i=1; while(i<=n) i=i*2
的时间复杂度
O(log2n)。整段代码语句,中循环体只有
一个
while(i<=n),执行的次数是:i = 1,i = 1*2=2,判断2是否小于等于n,是则继续循环,否则跳出循环。i =2,i = 2*2=4,判断4是否小于等于n,是则继续循环,否则跳出循环。i =4 ,i = 4*...
假设
时间复杂度为
O(n^2)的
算法
在有200个元素的数组上运行需要3.1毫秒,则...
答:
程序的运行时间,除与数据规模有关外,与数据本身也有关系的。只从
时间复杂度
的角度推算,约为:3.
1
*(500/200)^2= 19.375ms
求
一个算法
把n个数中的第k大的数求出来,要求
时间复杂度为
O(n)
答:
j = i){ j2 = j<<
1
;if(j2+2 > k-1)i = j2+1;else { if(data[j2+1] < data[j2+2])i = j2+2;else i = j2+1;} if(tmp < data[i])data[j] = data[i];else break;} data[j] = tmp;} return data[range];} //堆的方法虽然看起来
复杂
,却绝对是高效的
算法
...
下面程序段
的时间复杂度为
___。(n>
1
)
答:
i=1; while(i<=n) i=i*2
的时间复杂度
O(log2n)。整段代码语句,中循环体只有
一个
while(i<=n),执行的次数是:i = 1,i = 1*2=2,判断2是否小于等于n,是则继续循环,否则跳出循环。i =2,i = 2*2=4,判断4是否小于等于n,是则继续循环,否则跳出循环。i =4 ,i = 4*...
请分析下面
算法的时间复杂度
。希望可以给
一个
详细分析计算过程,谢谢...
答:
算法1
是最坏情况执行n/2次,也就是O(n);算法2是执行次数是[lgn]+1,也就是O(lgn)算法3是最坏情况执行[√n]-1次,这就是O(√n)其中,lg是以10为底的对数。[ ]是向下取整。
关于
算法
:当n等于
一个
准确值时,
时间复杂度
是不是都为O(1)?
答:
你的理解是错误的。O(n) 是指问题的规模为 n (n是一个变量)时,算法需要
的时间
是 n 的多少倍,这里的多少对某
一个算法
来说是一个确定的数,不会随问题规模的变化而变化。O表示的就是变化的过程,当问题规模变大时,算法需要的时间变得有多快。你把变化的过程和变化过程中的某一个具体的点...
计算
算法的时间复杂度
是属于一种( )。
答:
缺点:①必须先运行依据算法编制的程序;②所得时间统计量依赖于硬件、软件等环境因素,掩盖算法本身的优劣。(2)事前分析估计——一个高级语言程序在计算机上运行所消耗
的时间
取决于:①依据的算法选用何种策略;②问题的规模;③程序语言;④编译程序产生机器代码质量;⑤机器执行指令速度。同
一个算法
用不...
棣栭〉
<涓婁竴椤
6
7
8
9
11
12
13
14
10
15
涓嬩竴椤
灏鹃〉
其他人还搜