• js常用的2中排序方法:冒泡排序和快速排序


    冒泡排序:例如9 4 5 6 8 3 2 7 10 1 

    首先:9和4比较  4放前   4 9 5 6 8 3 2 7 10 1 

          4和5比较   4不动   4 9 5 6 8 3 2 7 10 1 

          4和6比较    4不动   4 9 5 6 8 3 2 7 10 1 

          4和3比较    3放前   3 9 5 6 8 4 2 7 10 1 

          3和2比较    2放前   2 9 5 6 8 4 3 7 10 1

    最后第一轮为:1 9 5 6 8 4 3 7 10 2    通过第一轮最小的数放到了第一个

    平均时间复杂度:o(n平方);

    最大时间复杂度:o(n平方)

    最小时间复杂度:o(n)

    稳定性:稳定     a在b前面 当a=b时 仍然在前面

    快速排序:

    例如:10  5  81  54  6  14  76  13

    设置i 和 j 分别指向 10 和13

    首先 j从后往前找比10小的数 找到6 并交换 10和6的位置

    得到: 6 5 81 54 10 14 76 13

     现在将i往后移一位 i=5  j=10;

    让i从前往后找比10大的数  找到81 交换81和10的位置,得

     6 5 10 54 81 14 76 13

    现在i=10  j=81;

    让j从后往前找比10小的数  找不到

    故第一轮排序为:6 5 10 54 81 14 76 13   通过第一轮:比10大的数在右边,比10小的数全在左边

    平均时间复杂度:o(nlogn);

    最大时间复杂度:o(n平方)

    最小时间复杂度:o(nlogn)

    稳定性:不稳定

  • 相关阅读:
    android入门
    jquery实现市,县级联
    java基础学习笔记五(抽象类)
    java基础学习笔记四(异常)
    java基础学习笔记三(多态)
    java基础学习笔记二(接口、super、this)
    java基础学习笔记一
    实习第二十二天
    武汉第二十一天
    武汉第二十天
  • 原文地址:https://www.cnblogs.com/8080zh/p/9227449.html
Copyright © 2020-2023  润新知