• 排序算法入门之冒泡排序及其优化(java实现)


    冒泡排序思想(从小到大):

          比较相邻两个元素,如果第一个元素比第二个元素大,就交换他们的位置。第一趟,从第一个元素开始,第一个元素和第二个元素比较,如果第一个元素比第二个元素大,则交换位置;接下来比较第二、第三个元素,大的放后面,以此类推,直到最后两个。第一趟比较结束后,最大的元素放到了最后一个位置。接下来进行第二趟排序,从第一个元素到倒数第二个元素(因为最后一个已经是最大的了)执行上面步骤。依次执行下去。

    此时的最优最差平均时间复杂度为O(n^2)。

    优化:加一个标志位,当交换元素时为true,没有交换时为false,排序结束。

    此时的优化算法的最优时间复杂度为O(n),最差和平均是O(n^2)。

  • 相关阅读:
    iOS 字体
    接口继承和实现继承的区别
    实验楼实验——LINUX基础入门
    试看看能不能发布
    mysql binlog恢复
    percona
    ssh2 php扩展
    sphinx
    ngios
    socketlog
  • 原文地址:https://www.cnblogs.com/xiaolovewei/p/7553833.html
Copyright © 2020-2023  润新知