zoukankan      html  css  js  c++  java
  • 038-选择排序

    1、冒泡排序。

    2、算法过程。

      (1)、a[0] 与 a[1],a[2],...,a[length-1] 比较。表示数组第一个元素与【数组第二个元素到最后一个元素】比较一趟。比较次数为:length-1。

      (2)、a[1] 与 a[2],a[3],...,a[length-1] 比较。表示数组第二个元素与【数组第三个元素到最后一个元素】比较一趟。比较次数为:length-2。

      (3)、a[i] 与 a[i+1],a[i+2],...,a[length-1] 比较。表示数组第i个元素与【数组第i+1个元素到最后一个元素】比较一趟。比较次数为:length-i-1。

      (4)......

      (5)、a[length-2] 与 a[length-1] 比较。表示数组第length-2 个元素与【数组最后一个元素】比较一趟。比较次数为:length-1。比较次数为:1。

    /*
    算法描述:
    1、举例说明,有一个数组元素依次为:5、4、3、2、1
    该算法将外循环下标索引控制在0~4,内循环下标索引控制1~4
    先将a[0]元素与a[1]、a[2]、a[3]、a[4]比较大小:
    3、5、4、2、1
    2、5、4、3、1
    1、5、4、3、2 --->>结果是获得第1最小,比较4次
    然后将a[1]与a[2]、a[3]、a[4]比较大小:
    1、4、5、3、2
    1、3、5、4、2
    1、2、5、4、3 --->>结果是获得第2最小,比较3次
    然后将a[2]与a[3]、a[4]比较大小:
    1、2、4、5、3
    1、2、3、5、4 --->>结果是获得第3最小,比较2次
    然后将a[3]与a[4]比较大小:
    1、2、3、4、5 --->>结果是获得第4最小,比较1次


    当问题规模为n时,即当有n个数据比较时,则会执行1+2+....+(n-1),即:n*(n-1)/2次比较。
    即时间复杂度是: O(n^2) -->>平方阶
    */

    3、算法的完美实现。

  • 相关阅读:
    Ribbon【负载均衡策略】
    Ribbon【入门】
    Mysql主从复制原理及同步延迟问题
    JWT 身份认证优缺点分析以及常见问题解决方案
    Feign【token传递】
    Feign【首次请求失败】
    Feign【文件上传】
    Feign【替换默认的feign client】
    Feign【开启GIZP压缩】
    Feign【@FeignClient】
  • 原文地址:https://www.cnblogs.com/igoodful/p/9188621.html
Copyright © 2011-2022 走看看