参考答案和解析
正确答案:此局部冒泡排序算法至少需进行1趟扫描至多需进行n-1趟扫描(其中只有一趟扫描是全局的其余趟扫描都是局部扫描扫描范围相对小得多。即在待排序数据初始有序(正序)情况下关键字的比较次数为n-1数据的移动次数为0;在待排序数据初始逆序的情况关键字的比较次数为n(n—1)/2最坏情况下每一次比较均会发生数据的交换即移动次数为3n(n-1)/2。显然局部冒泡排序与冒泡排序算法具有相同的时间复杂度并且在正序和逆序的情况下所需的关键字的比较次数和移动次数完全相同。
此局部冒泡排序算法至少需进行1趟扫描,至多需进行n-1趟扫描(其中只有一趟扫描是全局的,其余趟扫描都是局部扫描,扫描范围相对小得多。即在待排序数据初始有序(正序)情况下,关键字的比较次数为n-1,数据的移动次数为0;在待排序数据初始逆序的情况,关键字的比较次数为n(n—1)/2,最坏情况下,每一次比较均会发生数据的交换,即移动次数为3n(n-1)/2。显然局部冒泡排序与冒泡排序算法具有相同的时间复杂度,并且在正序和逆序的情况下,所需的关键字的比较次数和移动次数完全相同。 解析:本题所涉及的算法是对冒泡排序算法的改进,即局部冒泡排序算法。题目说明中对这种局部冒泡排序算法的思想进行了详细的介绍,一定要仔细阅读。做题时,如考生对冒泡排序比较熟练,对于局部冒泡排序算法只要理解了其“只对待排序列作局部的冒泡处理”这一本质,回答问题1只需根据局部冒泡排序算法思想和程序代码进行对照阅读。问题2见答案分析。
更多“请根据算法的C代码,分析此算法效率。 ”相关问题
  • 第1题:

    运用费用效率法进行寿命周期成本分析时,估算费用的常用方法包括(  )。


    A.费用模型估算法和费用项目分别估算法

    B.参数估算法和效率估算法

    C.类比估算法和权衡估算法

    D.权衡估算法和效率估算法

    答案:A
    解析:
    参考第四章第四节内容,应选A项。 运用费用效率法进行寿命周期成本分析时,估算费用的常用方法包括:费用模型估算法,参数估算法,类比估算法,费用项目分别估算法。

  • 第2题:

    结构化开发方法中,( )主要包含对数据结构和算法的设计。对算法设计时,其主要依据来自( )。描述算法时,(请作答此空)不是理想的表达方式。

    A.流程图
    B.决策树
    C.程序设计语言代码
    D.伪代码

    答案:C
    解析:
    体系结构设计是整个系统架构需要考虑的问题,过程设计主要包含对数据结构和算法的设计,故第一问正确答案为D数据流图是一种图形化技术,用来描述数据从输入到输出的变换流程。没有任何具体的物理部件,只描绘数据在软件中流动和被处理的逻辑过程。E-R图:即实体-关系图,使用简单的图形符号表达系统分析员对问题的理解,不熟悉计算机技术的用户也能理解,可以作为用户与系统分析人员之间有效的交流工具,通常用于数据库应用系统。状态-迁移图 :描述系统或对象的状态,以及导致系统或对象的状态改变的事件,从而描述系统的行为。加工规格说明:加工描述了输入数据流到输出数据流之间的变换,是算法设计的主要依据,故第二问正确答案为D算法可以借助各种工具描述出来,一个算法可以是用自然语言、数字语言或约定的符合来描述,如流程图、伪代码、决策表、决策树等,不包括程序设计语言代码,故第三问正确答案为C。

  • 第3题:

    143、高级语言程序设计过程是()

    A.问题分析,算法确定,代码设计

    B.算法确定,问题分析,代码设计

    C.问题分析,代码设计,算法确定

    D.算法确定,代码设计,问题分析


    问题分析,算法确定,代码设计

  • 第4题:

    运用费用效率法进行寿命周期成本分析时,估算费用的常用方法包括( )。

    A.费用模型估算法和费用项目分别估算法
    B.参数估算法和效率估算法
    C.类比估算法和权衡估算法
    D.权衡估算法和效率估算法

    答案:A
    解析:
    运用费用效率法进行寿命周期成本分析时,估算费用的常用方法包括:费用模型估算法,参数估算法,类比估算法,费用项目分别估算法。

  • 第5题:

    20、高级语言程序设计过程是()。

    A.问题分析,算法确定,代码设计

    B.问题分析,代码设计,算法确定

    C.算法确定,问题分析,代码设计

    D.算法确定,代码设计,问题分析


    问题分析,算法确定,代码设计