参考答案和解析
正确答案:第二种算法的时间性能要好些。第一种算法需执行大量的乘法运算,而第二种算法进行了优化,减少了不必要的乘法运算。
更多“求多项式A(x)的算法可根据下列两个公式之一来设计:⑴A(x)=anxn+an-1xn-1+…+a1x+a0⑵A(x)=(…(anx+an-1)x+…+a1)x)+a0根据算法的时间复杂度分析比较这两种算法的优劣。”相关问题
  • 第1题:

    算法用来描述运算的实现步骤,它是精确定义的一组规则。衡量算法的优劣一般有两个方法,即时间复杂度和【 】复杂度。


    正确答案:空间
    空间 解析:算法用来描述运算的实现步骤,它是精确定义的一组规则。衡量算法的优劣一般有两个方法,即时间复杂度和空间复杂度。

  • 第2题:

    下列关于算法复杂度描述正确的是( )。

    A. 算法的时间复杂度是指算法执行的时间

    B. 算法的空间复杂度是指执行这个算法所需的内存空间

    C. 一个算法的空间复杂度大,则其时间复杂度必定大

    D. 一个算法的空间复杂度大,则其时间复杂度必定小


    正确答案:B
    算法的时间复杂度是指执行算法所需的计算工作量。算法的空间复杂度是指执行这个算法所需的内存空间。在一个算法的空间复杂度大的情况下,其时间复杂度可能会很大,具体视情况而定;反之亦然。

  • 第3题:

    下列关于算法的时间复杂度陈述正确的是

    A.算法的时间复杂度是指执行算法程序所需要的时间

    B.算法的时间复杂度是指算法程序的长度

    C.算法的时间复杂度是指算法执行过程中所需要的基本运算次数

    D.算法的时间复杂度是指算法程序中的指令条数


    正确答案:C
    解析:算法的时间复杂度是指执行算法所需要的计算工作量,也就是算法在执行过程中所执行的基本运算的次数,而不是指程序运行需要的时间或是程序的长度。

  • 第4题:

    给定包含n个正整数的数组A和正整数x,要判断数组A中是否存在两个元素之和等于x,先用插入排序算法对数组A进行排序,再用以下过程P来判断是否存在两个元素之和等于x。low=1;high=n;while(high>low)if A[low]+A[high]=x return true;else if A[low]+A[high]>x low++;else high--;return false;则过程P的时间复杂度为( ),整个算法的时间复杂度为(请作答此空)。

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

    答案:C
    解析:
    本题考查时间复杂度的基本知识。第一空有一层循环while,遍历判断,所以时间复杂度为n;第二空如图所示:插入排序的时间复杂为O(n2) ;故第一空正确答案为A;第二空正确答案为C;

  • 第5题:

    算法的存储量高低用()来衡量。

    • A、时间复杂度
    • B、空间复杂度
    • C、算法的步骤数
    • D、算法的长度

    正确答案:B

  • 第6题:

    什么是算法的渐近时间复杂度?如何分析一个算法的渐近时间复杂度?


    正确答案:算法的渐近时间复杂度是对算法的时间效率的度量。也就是对一个算法执行所需要的时间进行分析。一个算法执行所需要的具体时间与所使用的计算机系统的软、硬件性能及问题的规模等因素有关。为了比较算法本身的时间性能,应该采用能够反映算法本身的时间性能的度量。实际上,通常算法运行所需要的时间T是问题规模n的函数,可记为T(n)。所谓算法的渐近时间复杂度,是当问题规模充分大时,算法运行时间的增长趋势的度量。因为增长率的上限对算法的比较更具意义,所以经常分析的是算法运行时间的增长率的上限,这就是算法的时间复杂度的大O表示,也常简称为算法的时间复杂度。
    为了分析一个算法的时间复杂度,一般情况下需要考察算法中基本语句的执行次数,找出其与问题规模n的函数关系f(n),从而得到算法的渐近时间复杂度。所谓基本语句是执行次数与算法的执行次数成正比的语句,它是算法中的关键操作。算法的基本语句大多包含在循环和递归结构中,对于单循环结构,循环体中的简单语句就是基本语句,其执行次数的大O表示就是该算法段的渐近时间复杂度;对于并列的循环结构,要先分析各个循环结构的渐近时间复杂度,然后利用大O表示法的加法规则求出算法的时间复杂度;对于多层嵌套的循环结构,最内层循环中的简单语句就是算法的基本语句,要自外向内逐层分析各层循环的渐近时间复杂度,再利用大O表示法的乘法规则来求出算法的渐近时间复杂度。对于递归结构,则可以根据递归过程递推出基本语句的执行次数,进而得到它的大O表示。总之,只要分析求出算法中关键操作的执行次数与问题规模的函数关系,也就得到了该次数的大O表示,从而也就求出了算法的渐近时间复杂度。

  • 第7题:

    下列关于算法的时间复杂度陈述正确的是()

    • A、算法的时间复杂度是指执行算法程序所需要的时间
    • B、算法的时间复杂度是指算法程序的长度
    • C、算法的时间复杂度是指算法执行过程中所需要的基本运算次数
    • D、算法的时间复杂度是指算法程序中的指令条数

    正确答案:C

  • 第8题:

    计算月工资收入在2500元至4000元之间(含4000元不含2500元)的个人所得税算法如下:①输入月工资收入额x②用公式计算所得税y=500×5%+(x-2500)×10%③输出所得税y,上述算法属于()。

    • A、枚举算法
    • B、排序算法
    • C、递归算法
    • D、解析算法

    正确答案:D

  • 第9题:

    单选题
    下列叙述中错误的是(  )。
    A

    算法的时间复杂度与算法所处理数据的存储结构有直接关系

    B

    算法的空间复杂度与算法所处理数据的存储结构有直接关系

    C

    算法的时间复杂度与空间复杂度有直接关系

    D

    算法的时间复杂度与算法程序执行的具体时间是不一致的


    正确答案: B
    解析:
    算法的时间复杂度是指执行算法所需要的计算工作量。数据的存储结构直接决定数据输入,因此会影响算法所执行的基本运算次数,A项正确;算法的空间复杂度是指执行这个算法所需要的内存空间,其中包括输入数据所占的存储空间,B项正确;算法的时间复杂度与空间复杂度没有直接关系,C项错误;算法程序执行的具体时间受到所使用的计算机、程序设计语言以及算法实现过程中的许多细节影响,而算法的时间复杂度与这些因素无关,所以算法的时间复杂度与算法程序执行的具体时间是不一致的,D项正确。答案选择C选项。

  • 第10题:

    单选题
    算法的存储量高低用()来衡量。
    A

    时间复杂度

    B

    空间复杂度

    C

    算法的步骤数

    D

    算法的长度


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

  • 第11题:

    单选题
    下列叙述中正确的是(  )。
    A

    算法就是程序

    B

    设计算法时只需要考虑数据结构的设计

    C

    设计算法时只需要考虑结果的可靠性

    D

    设计算法时需要同时考虑时间复杂度和空间复杂度


    正确答案: D
    解析:
    A项错误,算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法;BC两项错误,设计算法时,不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。算法的时间复杂度,是指执行算法所需要的计算工作量;算法的空间复杂度,是指执行这个算法所需要的内存空间。答案选择D选项。

  • 第12题:

    单选题
    算法的时间效率用()来衡量。
    A

    时间复杂度

    B

    空间复杂度

    C

    算法的步骤数

    D

    算法的长度


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

  • 第13题:

    一个算法的评价主要从空间复杂度和()来考虑。

    A、时间复杂度

    B、算法有效性

    C、算法有穷性

    D、算法可读性


    参考答案:A

  • 第14题:

    下列叙述中正确的是( )。

    A.算法复杂度是指算法控制结构的复杂程度

    B.算法复杂度是指设计算法的难度

    C.算法的时间复杂度是指设计算法的工作量

    D.算法的复杂度包括时间复杂度与空间复杂度


    正确答案:D
    算法的复杂度是指运行该算法所需要的计算机资源的多少,所需的资源越多,该算法的复杂度越高;反之,所需资源越少,复杂度越低。算法复杂度包括算法的时间复杂度和算法的空间复杂度,算法的时间复杂度是指执行算法所需要的计算工作量,算法空间复杂度指执行这个算法所需要的内存空间。故选择D选项。

  • 第15题:

    下面所给出的算法的时间复杂度为(56)。(n为大于1的数)

    x=n;y=1;

    while(x>y*y){

    y++;}

    A.

    B.

    C.

    D.


    正确答案:A
    解析:在以上算法中,循环将执行[]-1次,故其时间复杂度为A项。

  • 第16题:

    求两个n阶矩阵的乘积,算法的基本操作和时间复杂度分别为()和()
    乘法;O(n3)

  • 第17题:

    算法的时间效率用()来衡量。

    • A、时间复杂度
    • B、空间复杂度
    • C、算法的步骤数
    • D、算法的长度

    正确答案:A

  • 第18题:

    对于含有n个顶点e条边的连通图,利用Prim算法求最小生成树的时间复杂度为(),利用Kruskal算法求最小生成树的时间复杂度为()。


    正确答案:O(n2);O(elog2e)

  • 第19题:

    算法时间复杂度的分析通常有两种方法,即()和()的方法,通常我们对算法求时间复杂度时,采用后一种方法。


    正确答案:事后统计;事前估计

  • 第20题:

    问答题
    什么是算法的渐近时间复杂度?如何分析一个算法的渐近时间复杂度?

    正确答案: 算法的渐近时间复杂度是对算法的时间效率的度量。也就是对一个算法执行所需要的时间进行分析。一个算法执行所需要的具体时间与所使用的计算机系统的软、硬件性能及问题的规模等因素有关。为了比较算法本身的时间性能,应该采用能够反映算法本身的时间性能的度量。实际上,通常算法运行所需要的时间T是问题规模n的函数,可记为T(n)。所谓算法的渐近时间复杂度,是当问题规模充分大时,算法运行时间的增长趋势的度量。因为增长率的上限对算法的比较更具意义,所以经常分析的是算法运行时间的增长率的上限,这就是算法的时间复杂度的大O表示,也常简称为算法的时间复杂度。
    为了分析一个算法的时间复杂度,一般情况下需要考察算法中基本语句的执行次数,找出其与问题规模n的函数关系f(n),从而得到算法的渐近时间复杂度。所谓基本语句是执行次数与算法的执行次数成正比的语句,它是算法中的关键操作。算法的基本语句大多包含在循环和递归结构中,对于单循环结构,循环体中的简单语句就是基本语句,其执行次数的大O表示就是该算法段的渐近时间复杂度;对于并列的循环结构,要先分析各个循环结构的渐近时间复杂度,然后利用大O表示法的加法规则求出算法的时间复杂度;对于多层嵌套的循环结构,最内层循环中的简单语句就是算法的基本语句,要自外向内逐层分析各层循环的渐近时间复杂度,再利用大O表示法的乘法规则来求出算法的渐近时间复杂度。对于递归结构,则可以根据递归过程递推出基本语句的执行次数,进而得到它的大O表示。总之,只要分析求出算法中关键操作的执行次数与问题规模的函数关系,也就得到了该次数的大O表示,从而也就求出了算法的渐近时间复杂度。
    解析: 暂无解析

  • 第21题:

    问答题
    求多项式A(x)的算法可根据下列两个公式之一来设计:⑴A(x)=anxn+an-1xn-1+…+a1x+a0⑵A(x)=(…(anx+an-1)x+…+a1)x)+a0根据算法的时间复杂度分析比较这两种算法的优劣。

    正确答案: 第二种算法的时间性能要好些。第一种算法需执行大量的乘法运算,而第二种算法进行了优化,减少了不必要的乘法运算。
    解析: 暂无解析

  • 第22题:

    单选题
    计算月工资收入在2500元至4000元之间(含4000元不含2500元)的个人所得税算法如下:①输入月工资收入额x②用公式计算所得税y=500×5%+(x-2500)×10%③输出所得税y,上述算法属于()。
    A

    枚举算法

    B

    排序算法

    C

    递归算法

    D

    解析算法


    正确答案: D
    解析: 枚举算法就是按问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是不是问题的真正解,若是,我们采纳这个解,否则抛弃它。在列举的过程中,既不能遗漏也不应重复。递归算法其实质是把问题转化为规模缩小了的同类问题的子问题。本题尚未用到排序算法。本题直接写出了函数解析式,故答案选D。

  • 第23题:

    填空题
    算法时间复杂度的分析通常有两种方法,即()和()的方法,通常我们对算法求时间复杂度时,采用后一种方法。

    正确答案: 事后统计,事前估计
    解析: 暂无解析