参考答案和解析
正确答案:Ο(1);Ο(nlog2n)
更多“设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示”相关问题
  • 第1题:

    若一个算法的时间复杂度为(n2+2n-3)/(2n),其数量级表示为______。


    正确答案:O(n)
    O(n) 解析:算法的时间复杂度表示是根据问题规模的函数f(n)来衡量的,其中问题规模函数的表达式(n2+2n-3)/(2n)中,问题规模增长或减少的比与n一致。

  • 第2题:

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


    正确答案:D

  • 第3题:

    若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)。

  • 第4题:

    设一个广义表中结点的个数为n,则求广义表深度算法的时间复杂度为____。

    A.O(1)

    B.O(n)

    C.O(n2)

    D.O(log2n)


    正确答案:D

  • 第5题:

    在某个算法时间复杂度递归式T(n)=T(n-1)+n,其中n为问题的规模,则该算法的渐进时间复杂度为( ),若问题的规模增加了16倍,则运行时间增加( )倍。

    A.Θ(n) B.Θ(nlgn) C.Θ(n2) D.Θ(n2lgn) A.16 B.64 C.256 D.1024


    正确答案:C,C

  • 第6题:

    某个算法的时间复杂度递归式T(n)=T(n-1)+n,其中n为问题的规模,则该算法的渐进时间复杂度为 (请作答此空) ,若问题的规模增加了16倍,则运行时间增加 ( ) 倍。

    A.O(n)
    B.O(nlgn)
    C.O(n2)
    D.O(n2lgn)

    答案:C
    解析:
    对于递归式,假设T(1)=1,则:
    T(n)=T(n-1)+n
    =T(n-2)+n-1+n
    =T(n-3)+n-2+n-1+n
    =1+2+…+n-1+n
    =n(n+1)/2
    可见,时间复杂度为O(n2)。若问题的规模增加了16倍,则运行时间增加了162=256倍。

  • 第7题:

    已知算法A的运行时间函数为T(n)=8T(n/2)+n2,其中n表示问题的规模,则该算法的时间复杂度为( )

    A.θ(n)
    B.θ(nlgn)
    C.θ(n2)
    D.θ(n3)

    答案:D
    解析:
    本题需要用到特定形式的递归式分析法:
    在本题中,a=8,b=2,故符合(1)的情况。时间复杂度为:O(n3)。a=16,b=4

  • 第8题:

    某个算法的时间复杂度递归式T(n)=T(n-1)+n,其中n为问题的规模,则该算法的渐进时间复杂度为(62),若问题的规模增加了16倍,则运行时间增加(63)倍。

    A.O(n)
    B.O(nlgn)
    C.O(n2)
    D.O(n2lgn)

    答案:C
    解析:
    对于递归式,假设T(1)=1,则:
    T(n)=T(n-1)+n
    =T(n-2)+n-1+n
    =T(n-3)+n-2+n-1+n
    =1+2+…+n-1+n
    =n(n+1)/2
    可见,时间复杂度为O(n2)。若问题的规模增加了16倍,则运行时间增加了162=256倍。

  • 第9题:

    用循环链表表示的队列长度为n,若只设头指针,则出对和入对的时间复杂度分别是()和();若只设尾指针,则出队和入队的时间复杂度分别是()和()。


    正确答案:0(1);0(n);0(n);0(1)

  • 第10题:

    一个算法的时间复杂度为(3n2+2nlog2n+4n-7)/(5n),其数量级表示为()。


    正确答案:O(n)

  • 第11题:

    问答题
    我们通常采用大O形式来表示算法的时间复杂度。例如,在一个长度为n的顺序表中顺序查找一个数据元素的过程的时间复杂度为O(n),其中,n表示问题的规模。那么,O(1)表示什么?请举出一个例子加以说明。

    正确答案: O(1)表示时间复杂度与问题规模无关。例如,在堆栈或者队列中插入一个新的元素的过程的时间复杂度为O(1)。
    解析: 暂无解析

  • 第12题:

    填空题
    设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。

    正确答案: Ο(1),Ο(nlog2n)
    解析: 暂无解析

  • 第13题:

    一个算法的时间复杂性通常用数量级形式表示,当一个算法的时间复杂性与问题的规模n无关时,则表示为 【】


    正确答案:O(1)
    一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。当一个算法的时间复杂性与问题的规模n无关时,则表示为O(1)

  • 第14题:

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

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


    正确答案:B

  • 第15题:

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

    A.O(lgn)

    B.O (nlgn)

    C.O(n)

    D.O(n2)


    正确答案: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

  • 第16题:

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

    A.O(lgn)

    B.O(nlgn)

    C.O(n)

    D.O(n2)


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

  • 第17题:

    某个算法的时间复杂度递归式T(n)=T(n-1)+n,其中n为问题的规模,则该算法的渐进时间复杂度为 ( ) ,若问题的规模增加了16倍,则运行时间增加 (请作答此空) 倍。

    A.16
    B.64
    C.256
    D.1024

    答案:C
    解析:
    对于递归式,假设T(1)=1,则:
    T(n)=T(n-1)+n
    =T(n-2)+n-1+n
    =T(n-3)+n-2+n-1+n
    =1+2+…+n-1+n
    =n(n+1)/2
    可见,时间复杂度为O(n2)。若问题的规模增加了16倍,则运行时间增加了162=256倍。

  • 第18题:

    某个算法的时间复杂度递归式T(n)=T(n-1)+n,其中n为问题的规模,则该算法的渐进时间复杂度为(62),若问题的规模增加了16倍,则运行时间增加(63)倍。

    A.16
    B.64
    C.256
    D.1024

    答案:C
    解析:
    对于递归式,假设T(1)=1,则:
    T(n)=T(n-1)+n
    =T(n-2)+n-1+n
    =T(n-3)+n-2+n-1+n
    =1+2+…+n-1+n
    =n(n+1)/2
    可见,时间复杂度为O(n2)。若问题的规模增加了16倍,则运行时间增加了162=256倍。

  • 第19题:

    设某算法的计算时间表示为递推关系式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

  • 第20题:

    设长度为n的链队列用单循环链表表示,若只设头指针,则入队和出队操作的时间复杂度分别为()和();若只设尾指针,则入队和出对操作的时间复杂度分别为()和()。


    正确答案:O(n);O(1);O(1);O(1)

  • 第21题:

    设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。


    正确答案:Ο(1);Ο(nlog2n)

  • 第22题:

    一个算法的时间复杂度为(n+nlog2n+14n)/n,其数量级表示为()。


    正确答案:O(n)

  • 第23题:

    单选题
    设一个广义表中结点的个数为n,则求广义表深度算法的时间复杂度为()。
    A

    O(1)

    B

    O(n)

    C

    O(n2

    D

    O(log2n)


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

  • 第24题:

    填空题
    一个算法的时间复杂度为(n+nlog2n+14n)/n,其数量级表示为()。

    正确答案: O(n)
    解析: 暂无解析