下面算法是实现对n个整数的序列进行选择排序,其中序列的“长度”n为问题的规模。该算法的时间复杂度为(11)。    void select_sort(int a[],int n){    //将a中整数序列重新排列成从小到大有序的整数序列    for(i

admin2013-05-11  39

问题 下面算法是实现对n个整数的序列进行选择排序,其中序列的“长度”n为问题的规模。该算法的时间复杂度为(11)。    void select_sort(int a[],int n){    //将a中整数序列重新排列成从小到大有序的整数序列    for(i=0;i<n-1;++i){    j=i;    for(k=i+1;k<n;++k)if(a[k]<a[j])j=k;    if(j!=i){w=a[j];a[j];a;a=w}    )//select_sort

选项 A、O(n2)
B、O(n3)
C、O(n4)
D、O(n)

答案A

解析 算法中的控制结构是两重循环,所以基本操作是在内层循环中的“比较”,它的重复执行次数是:

   对时间复杂度而言,只需要取最高项,并忽略常数系数。
转载请注明原文地址:https://kaotiyun.com/show/n1RZ777K
0

相关试题推荐
最新回复(0)