zoukankan      html  css  js  c++  java
  • 用插入排序和归并排序算法对数组<3,1,4,1,5,9,6,5>进行从小到大排序,则分别需要进行______次数组元素之间的比较。

    用插入排序和归并排序算法对数组<3,1,4,1,5,9,6,5>进行从小到大排序,则分别需要进行______次数组元素之间的比较。
    A.12,14
    B.10,14
    C.12,16
    D.10,16
    正确答案是A
    答案解析
    插入排序的基本思想是:每步将一个待排序的纪录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。
    插入排序最基本的应用就是 平时打扑克牌的时候 一张张拿牌的过程。

    以下是排序步骤:
    1、【3】1,4,1,5,9,6,5
    2、【1,3】,4,1,5,9,6,5 比较次数1次:3和1比较
    3、【1,3,4】,1,5,9,6,5 比较次数1次:4和3比较 因为4比3大所以不和1比较
    4、【1,1,3,4】,5,9,6,5 比较次数3次:1和4比较 1和3比较 1和1比较 因为1比4小故而需要和之前的数组比较直到大于等于之前的数字才停止
    5、【1,1,3,4,5】,9,6,5 比较次数1次:5和4比较
    6、【1,1,3,4,5,9】,6,5 比较次数1次:9和5比较
    7、【1,1,3,4,5,6,9】,5 比较次数2次:6和9比较 6和5比较
    8、【1,1,3,4,5,5,6,9】 比较次数3次:5和9比较 5和6比较 5和5比较
    所以 比较的次数为 1+1+3+1+1+2+3=12次

    归并操作(merge),也叫归并算法,指的是将两个顺序序列合并成一个顺序序列的方法。

    以下是排序步骤:

    所以比较次数为 4+6+4=14次

  • 相关阅读:
    软件开发模式
    my parnter code review
    官僚模式和功能团队模式的优缺点
    思考题
    my code review
    四则运算
    Android Studio下使用Junit框架测试数组和
    SQL2008 存储过程 增删改查例子
    NET 无法显示XML页怎么办
    vs2010 2005 2008 代码前面出现··········取消方法
  • 原文地址:https://www.cnblogs.com/haowuji/p/6961731.html
Copyright © 2011-2022 走看看