中国大学MOOC:一般而言,算法设计完成后,需要进行算法的模拟与分析。关于算法的模拟与分析回答问题:分析下列算法的时间复杂性。StartoftheAlgorithm(1)S[1]=1;Sum=0;初始化距离数组D[n][n];/*I层的循环,即下列步骤为每次找出一个城市,I从2到n,即从找出第2个城市一直到找出第n个城市(2)I=2;/*K层的循环,即下列步骤为从所有未访问过的城市中查找距离S[I-1]最近的城市j,K依然从2到n寻找(3)K=2;(4)将Dtemp设为一个大数(比所有两个城市之间的距离都大)/*L层的循环,即下列步骤为判断一个城市是否已被访问过,如果已被访问,则跳过该城市,寻找新的城市,L从1到I-1,因为已经有I-1个城市被访问过。(5)L=1;(6)如果S[L]==K,转步骤(10);(7)L=L+1;(8)如果L
举一反三
- 编写函数,求1!+2!+3!+ …+K!的和 long fac( ) { int i; long s,sum; s= ; sum= ; for(i=1;i<=K;i++) { s= ; sum= ; } return sum; } void main( ) { int K; scanf("%d",&K); printf("1!+2!+...+K!=%ld\n", fac(K)); }
- 分析以下算法的时间复杂度。void fun(int n){ int i,j,k; for (i=1;i<= n;i++) for (j= 1;<= n;j++) . { k=1; while (k<=n) k=5*k;}
- 对于长度为n的顺序表,访问第i(1≤i≤n)个元素的算法时间复杂度为( )。 A: O(n) B: O(1) C: O(i) D: O(2n) E: : B F: 、对于长度为n的单链表,访问第i(1≤i≤n)个结点的时间复杂度为( )。 G: O(i) H: O(1) I: O(n) J: O(i-1) K: : C L: 、在循环单链表head中,判断p为尾结点的条件是( )。
- 1 Complete the words. ► k n i c k e r s knickers 1 _ n d _ r w _ _ r ____ 2 m _ t _ r _ _ l ____ 3 s l _ _ v _ ____ 4 t i _ _ t s ____ 5 s _ _ d e ____ 6 n _ c k l e ____ 7 b l _ _ s e ____ 8 e a _ _ i n s ____ 9 v _ _ t ____ 10 b _ _ t t _ n ____
- 中国大学MOOC:一般而言,算法设计完成后,需要进行算法的模拟与分析。关于算法的模拟与分析回答问题:算法的时间复杂性T(n),可以通过计算算法基本语句的执行次数来获得。分析下列程序的时间复杂性。(10)sum=0;(20)For(i=1;i<=n;i++)(30)For(j=1;j<=n;j++)(40)For(k=1;k<=5;k++)(50)sum=sum+1;该程序时间复杂性表达正确的是_________。