1、二分搜索算法将分治的2个子问题减少为1个,时间复杂度由n降低为logn
第1题:
已知一个大小为n的整型数组,现求该数组的全部连续子数组的元素之和的最大值,最优算法的时间复杂度是()如:a[4]={2,-1,3,-4},它的全部连续子数组为{2,-1,3,-4,[2,-1],[-1,3],[3,-4],[2,-1,3],[-1,3,-4],[2,-1,3,-4]},它们的元素之和为{2,-1,3,-4,1,2,-1,4,-2,0},其中的最大值为4。
A.O(logN)
B.O(N)
C.O(N*logN)
D.O(N^2)
第2题:
二分查找树里查询一个关键字的最坏时间复杂度是______
A.O(n)
B.O(nlogn)
C.O(logn)
D.不确定
第3题:
此题为判断题(对,错)。
第4题:
直接选择排序的平均时间复杂度为(46)。
A.O(n)
B.O(nlogn)
C.O(n2)
D.O(logn)
第5题:
某算法的空间花费s(n)=100nlog2n+0.5logn+1000n+2000,其空间复杂度为 ______.
A.0(1)
B.0(n)
C.0(n1.5)
D.0(nlog2n)
第6题:
向一个长度为N的顺序表中插入—个新元素的平均时间复杂度为(25)。
A.O(N)
B.O(1)
C.O(logN)
D.O(N2)
第7题:
若n表示问题的规模、O(f(n))表示算法的时间复杂度随n变化的增长趋势,则算法时间复杂度最小的是(59)。
A.O(n2)
B.O(n)
C.O(logn)
D.O(nlogn)
第8题:
以下程序是用来计算两个非负数之间的最大公约数我们假设x,y中最大的那个数的长度为n,基本运算时间复杂度为O(1),那么该程序的时间复杂度为()
A.O(1)
B.O(logn)
C.O(n)
D.O(n^2)
第9题:
下面程序中算法的时间复杂度是()
A.O(n)
B.O(n^2)
C.O(logn)
D.O(n*logn)
第10题:
●(37)有n个结点的有序单链表中插入一个新结点并保持有序的运算的时间复杂度为(37)。
(37)A.O(1)
B. O(logn)
C.O(n)
D. O(n2)
第11题:
第12题:
O(2^n)< O(n!)其中2^n表示2的n次幂
O(n)< O(nlogn)
O(n)>O(logn)
O(n!)
第13题:
使用二分查找算法在一个有序序列中查找一个元素的时间复杂度为()
A.O(N)
B.O(logN)
C.O(N*N)
D.O(N*logN)
第14题:
类比二分搜索算法,设计A分搜索算法(k为大于2的整数)如下:首先检查n/k处(n为被搜索集合的元素个数)的元素是否等于要搜索的值,然后检查2n/k处的元素,...,这样,或者找到要搜索的元素,或者把集合缩小到原来的1/k;如果未找到要搜索的元素,则继续在得到的集合上进行k分搜索;如此进行,直到找到要搜索的元素或搜索失败。此A分搜索算法在最坏情况下搜索成功的时间复杂度为(1),在最好情况下搜索失败的时间复杂度为(2)。
A.O(logn)
B.O(nlogn)
C.O(logkn)
D.O(nlogkn)
第15题:
A、O(logn)
B、O(n)
C、O(n*logn)
D、O(n2)
第16题:
某算法的空间花费s(n)=100nlog2n+0.5 logn+ 1000n+2000,其空间复杂度为______ 。
A.0(1)
B.0(n)
C.0(n1.5)
D.0(nlog2n)
第17题:
● 有n个结点的有序单链表中插入一个新结点并保持有序的运算的时间复杂度为( )。
A. O(1)
B. O(logn)
C. O(n)
D. O(n2)
第18题:
● 若某算法在问题规模为 n 时,其基本操作的重复次数可由下式表示,则该算法的时间复杂度为 (64) 。
(64)A. O(n) B. O(n2) C. O(logn) D. O(nlogn)
第19题:
直接选择排序的平均时间复杂度为(17)。最好情况下时间复杂度为O(n)的排序算法是(18)。在最好和最花情况下的时间复杂度均为O(nlogn)且稳定的排序方法是(19)。
A.O(n)
B.O(nlogn)
C.O(n2)
D.O(logn)
第20题:
给定下列代码:已知n是一个整数:foo()时间复杂度为O(1),上述代码的时间复杂度是()
A.O(logn)
B.O(n)
C.O(n*log(n))
D.O(log(n)^2)
第21题:
类比二分搜索算法,设计k分搜索算法(k为大于2的整数)如下:首先检查n/k处(n为被搜索集合的元素个数)的元素是否等于要搜索的值,然后检查2n/k处的元素,……,这样,或者找到要搜索的元素,或者把集合缩小到原来的1/k;如果未找到要搜索的元素,则继续在得到的集合上进行k分搜索;如此进行,直到找到要搜索的元素或搜索失败。此k分搜索算法在最坏情况下搜索成功的时间复杂度为(57),在最好情况下搜索失败的时间复杂度为(58)。
A.O(logn)
B.O(nlogn)
C.O(logkn)
D.O(nlogkn)
第22题:
排序的平均时间复杂度为O(n•logn)的算法是(),为O(n•n)的算法是()
第23题:
二分查找的时间复杂度为O(lgN),因此排序的时间复杂度为O(N*lgN)
二分查找的时间复杂度为O(N),因此排序的时间复杂度为O(N*lgN)
二分查找的时间复杂度为O(lgN),因此排序的时间复杂度为O(N*N)
二分查找的时间复杂度为O(N),因此排序的时间复杂度为O(N*N)
第24题:
O(logn)
O(n)
O(n*logn)
O(n²)