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次

  • 相关阅读:
    基于Metaweblog API 接口一键发布到国内外主流博客平台
    uva144 Student Grants
    Uva 10452
    Uva 439 Knight Moves
    Uva 352 The Seasonal War
    switch语句
    java——基础知识
    我的lua学习2
    codeforces 431 D. Random Task 组合数学
    codeforces 285 D. Permutation Sum 状压 dfs打表
  • 原文地址:https://www.cnblogs.com/haowuji/p/6961731.html
Copyright © 2011-2022 走看看