3、mid-1考 生 信 息 栏______学院______系______专业______年级 姓名______学号_____装订线6.elselow=mid+17.endif8.endif9.endwhile10.returnjendBISEARCH14.下面算法的基本运算是运算,该算法中第4步执行了次。算法COUNT输入:正整数n(n=)。输出:count的值。1.count=02.whilen>=13.forj=1ton4.count=count+15.endfor6.n=n/27.endwhil
4、eendCOUNT二.计算题和简答题(每小题7分,共21分)1.用表示下列各函数的阶,并按阶从低到高的顺序排列这些函数。n3/(n+5),2n+3n/2,5n2log3n+n3log2n,n!+nn,log(logn)/10002.下面是一个分治算法,其中,过程pro1和pro2的运算时间分别是1和n。给出该算法的时间复杂性T(n)满足的递归方程,并求解该递归方程,估计T(n)的阶(用表示)。算法EX2输入:正整数n,n=2k。输出:…ex2(1,n)endEX2过程ex2(low,high)iflow>=highthenpro1()elsem
5、=ex2(low,m)ex2(m+1,high)pro2(low,high)endifreturnendex23.设矩阵M1,M2,M3,M4,M5的阶如下:M1:102M2:25M3:52M4:24M5:410。下面表1和表2是用动态规划算法MATCHAIN求矩阵链乘积M1M2M3M4M5所需的最少数量乘法次数的有关结果,考 生 信 息 栏______学院______系______专业______年级 姓名______学号_____装订线C[1,1]=0C[1,2]=100C[1,3]=60C[1
6、,4]=C[1,5]=C[2,2]=0C[2,3]=20C[2,4]=36C[2,5]=C[3,3]=0C[3,4]=40C[3,5]=180C[4,4]=0C[4,5]=80C[5,5]=0表1S[1,1]=0S[1,2]=2S[1,3]=2S[1,4]=S[1,5]=S[2,2]=0S[2,3]=3S[2,4]=4S[2,5]=S[3,3]=0S[3,4]=4S[3,5]=4S[4,4]=0S[4,5]=5S[5,5]=0表2其中,C[i,j]表示求MiMi+1…Mj所需的最少数量乘法次数,S[i,j]表示相应的最优解信息。填充表1和表2中
7、空缺的数据,并根据数组S确定求M1M2M3M4M5的最优顺序(通过加括号表示)。三.算法填空题(共34分)1.(10分)下面是快速排序算法。算法QUICKSORT输入:正整数n,n个元素的数组A[1..n]。输出:按非降序排列的数组A中的元素。quicksort(A,1,n)endQUICKSORT过程quicksort(A,low,high)//将A[low..high]中的元素按非降序快速排序。iflow8、sort过程SPLIT(A,low,high)//以A[low]为主元划分A[low..high],返回主元的新位置。i=low;x=A[low]fo