更多“ 某算法的时间代价递推关系为T(n)=2T(n/2)+n,T(1)=1,则该算法的时间复杂度为______。A.O(n)B.C.O(n2)D.O(1) ”相关问题
  • 第1题:

    设求解某问题的递归算法如下:

    F(int n){

    if(n=-=1){

    Move(1);

    }else{

    F(n-1);

    Move(n);

    F(n-1);

    }

    }

    求解该算法的计算时间时,仅考虑算法Move所做的计算为主要计算,且Move为常数级算法。则算法F的计算时间T(n)的递推关系式为(53):设算法Move的计算时间为k,当n=4时,算法F的计算时间为(54)。

    A.T(n)=T(n-1)+1

    B.T(n)=2T(n-1)

    C.T(n)=2T(n-1)+1

    D.T(n)=2T(n+1)+1


    正确答案:C
    解析:本题考查对计算杉1算法进行时间复杂度分析的基本方法。直接递归算法的计算时间可以根据递归调用形式对应写出其递推关系式。按照题目中描述的算法形式,可知算法F的计算时间T(n)的递推关系式为T(n)=2T(n-1)+1,其中两次递归调用F(n-1)用时2T(n-1),算法Move的计算时间为常数,计为1。将上述递推关系式中常数1用k替换,求解可得T(n)=2n-1T(1)+,易知 T(1)=k,将n=4代入可得计算时间为15k。

  • 第2题:

    设某算法的计算时间表示为递推关系式T(n)=T(n-1)+n(n>O)及T(0)=1,则该算法的时间复杂度为( )。

    A.O(lgn)
    B.O(nlgn)
    C.O(n)
    D.O(n^2)

    答案:D
    解析:
    本题考查算法设计基础知识。根据题目中给出的递推关系:T(n)=T(n-1)+n=T(n-2)+n-1+n=…=T(0)+1+2+…+n-1+n=1+n(n+1)/2

  • 第3题:

    设问题规模为n时,某递归算法的时间复杂度记为T(n),已知T(1)=1, T(n)=2T(n/2)+n/2,用O表示的时间复杂度为()

    A.O(logn)

    B.O(n)

    C.O(nlogn)

    D.O(n2logn)


    0(N1ogN)

  • 第4题:

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

    A.O(lgn)

    B.O(nlgn)

    C.O(n)

    D.O(n2)


    正确答案:B
    解析:运用数学递推公式,可以推算出数量级O(nlgn)。

  • 第5题:

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

    A.O(logn)

    B.O(n*logn)

    C.O(n)

    D.O(n^2)


    B 解析:运用数学递推公式,可以推算出数量级O(nlgn)。