itgle.com
更多“用动态规划算法解决最大子段和问题,其时间复杂度为logn”相关问题
  • 第1题:

    某算法的时间复杂度表达式为T(n)=an2+bnlgn+cn+d,其中,n为问题的规模,a、b、c和d为常数,用O表示其渐近时间复杂度为( )。

    A.(n2)

    B.O(n)

    C.O(nlgn)

    D.O(1)


    正确答案:A
    解析:时间复杂度是度量算法执行的时问长短。根据表达式T(n)=an2+bnlgn+cn+d可知当n无限大时,T(n)=an2,故时间复杂度为O(n2)

  • 第2题:

    使用二分查找算法在一个有序序列中查找一个元素的时间复杂度为()

    A.O(N)

    B.O(logN)

    C.O(N*N)

    D.O(N*logN)


    正确答案:B

  • 第3题:

    某算法的语句执行频度为(3n2logn+n3+8),其时间复杂度是O(n3)()

    此题为判断题(对,错)。


    参考答案:正确

  • 第4题:

    直接插入排序在最好情况下的时间复杂度为()。

    A、O(logn)

    B、O(n)

    C、O(n*logn)

    D、O(n2)


    正确答案:D

  • 第5题:

    向一个长度为N的顺序表中插入—个新元素的平均时间复杂度为(25)。

    A.O(N)

    B.O(1)

    C.O(logN)

    D.O(N2)


    正确答案:A
    解析:向一个长度为N的顺序表中插入一个新元素的平均比较次数为N/2,所以平均时间复杂度为O(N)。

  • 第6题:

    若n表示问题的规模、O(f(n))表示算法的时间复杂度随n变化的增长趋势,则算法时间复杂度最小的是(59)。

    A.O(n2)

    B.O(n)

    C.O(logn)

    D.O(nlogn)


    正确答案:C
    解析:本题考查的是算法消耗的时间度量。一般情况下,一个算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间量度记作T(n)=O(f(n)),它表示随问题n的增大,算法执行时间的增长率和 f(n)的增长率相同,称做算法的渐进时间复杂度,简称时间复杂度。显然,在O(n2)、O(n)、 O(logn)和O(nlogn)中,复杂度最小的是O(logn)。

  • 第7题:

    直接选择排序的平均时间复杂度为(17)。最好情况下时间复杂度为O(n)的排序算法是(18)。在最好和最花情况下的时间复杂度均为O(nlogn)且稳定的排序方法是(19)。

    A.O(n)

    B.O(nlogn)

    C.O(n2)

    D.O(logn)


    正确答案:C

  • 第8题:

    给定下列代码:已知n是一个整数:foo()时间复杂度为O(1),上述代码的时间复杂度是()

    A.O(logn)

    B.O(n)

    C.O(n*log(n))

    D.O(log(n)^2)


    正确答案:B

  • 第9题:

    0-1背包问题的回溯算法所需的计算时间为(),用动态规划算法所需的计算时间为()。


    正确答案: O(n*2n);O(min{nc,2n})

  • 第10题:

    填空题
    排序的平均时间复杂度为O(n•logn)的算法是(),为O(n•n)的算法是()

    正确答案: 快速排序、二路归并排序、堆排序,直接插入排序、简单选择排序、起泡排序
    解析: 暂无解析

  • 第11题:

    填空题
    0-1背包问题的回溯算法所需的计算时间为(),用动态规划算法所需的计算时间为()。

    正确答案: O(n*2n),O(min{nc,2n})
    解析: 暂无解析

  • 第12题:

    多选题
    数据结构中,下列时间复杂度复杂度高低比较正确的是()。
    A

    O(2^n)< O(n!)其中2^n表示2的n次幂

    B

    O(n)< O(nlogn)

    C

    O(n)>O(logn)

    D

    O(n!)


    正确答案: A,B
    解析: 暂无解析

  • 第13题:

    假设某算法的计算时间可用递推关系式T(n)=2T(n/2)+n,T(1)=1表示,则该算法的时间复杂度为()

    A.O(logn)

    B.O(n*logn)

    C.O(n)

    D.O(n^2)


    正确答案:B

  • 第14题:

    红黑树中已经有n个数据,寻找某个key是否存在的时间复杂度为()

    A.o(logn)

    B.o(n)

    C.o(n二次方)

    D.o(1)


    正确答案:A

  • 第15题:

    折半查找法的时间复杂度是( )。

    A、 O(n*n)

    B、 O(n)

    C、 O(nlogn)

    D、 O(logn)


    正确答案: D

  • 第16题:

    直接选择排序的平均时间复杂度为(46)。

    A.O(n)

    B.O(nlogn)

    C.O(n2)

    D.O(logn)


    正确答案:C
    解析:本题主要考查排序算法的时间复杂度。排序算法的时间复杂度是用元素的平均比较次数和元素的平均移动次数来衡量的,它是评价排序算法的主要标准。

  • 第17题:

    ● 若某算法在问题规模为 n 时,其基本操作的重复次数可由下式表示,则该算法的时间复杂度为 (64) 。

    (64)A. O(n) B. O(n2) C. O(logn) D. O(nlogn)


    正确答案:B

  • 第18题:

    [问题1]中伪代码的时间复杂度为 (7) (用0符号表示)。


    正确答案:(7)O(n3)
    (7)O(n3) 解析:问题1:本问题考查算法流程。第(1)空表示主循环,k是循环控制变量,故第(1)空填k=1to n。第(2)和(3)空根据题意和递归式,可分别得到答案为
    [*]
    和计算了任意两个顶点之问的最短路径之后,对每个顶点,开始统计其到所有其他顶点的最短路径之和,因此第(4)空填SP[i]=SP[i]+dy(n)。第13和第14行初始化,假设最小的到所有其他顶点的最短路径之和为第一个顶点的最小路径之和,大型超市的最佳位置为第一个顶点,故第(5)空填rain_v=l。最后要求返回大型超市的最佳位置,即到所有其他顶点的最短路径之和最小的顶点。
    问题2:本问题考查[问题1]中的伪代码2—8行,计算任意两点之间的最短路径,有三重循环,故时间复杂度0(n3)。第9~12行,计算任意两点之间的最短路径之和,有两重循环,故时间复杂度为0(n2)。第15—18行,在所有点的最短路径之和中找到最小的最短路径之和,时间复杂度为O(n)。故算法总的时间复杂度为O(n3)。

  • 第19题:

    以下程序是用来计算两个非负数之间的最大公约数我们假设x,y中最大的那个数的长度为n,基本运算时间复杂度为O(1),那么该程序的时间复杂度为()

    A.O(1)

    B.O(logn)

    C.O(n)

    D.O(n^2)


    正确答案:C

  • 第20题:

    下面程序中算法的时间复杂度是()

    A.O(n)

    B.O(n^2)

    C.O(logn)

    D.O(n*logn)


    正确答案:C

  • 第21题:

    排序的平均时间复杂度为O(n•logn)的算法是(),为O(n•n)的算法是()


    正确答案:快速排序、二路归并排序、堆排序;直接插入排序、简单选择排序、起泡排序

  • 第22题:

    单选题
    已知序列X={x1,x2,…,xm},序列Y={y1,y2,…,yn},使用动态规划算法求解序列X和Y的最长公共子序列,其最坏时间复杂度为()。
    A

    O(m*n)

    B

    O(m+n)

    C

    O(m*2n

    D

    O(n*2m


    正确答案: A
    解析: 暂无解析

  • 第23题:

    单选题
    用动态规划算法解决最大字段和问题,其时间复杂性为()
    A

    logn

    B

    n

    C

    n2

    D

    nlogn


    正确答案: D
    解析: 暂无解析

  • 第24题:

    单选题
    直接插入排序在最好情况下的时间复杂度为(  )。
    A

    O(logn)

    B

    O(n)

    C

    O(n*logn)

    D

    O(n²)


    正确答案: D
    解析: