美文网首页
排序算法

排序算法

作者: igor_d140 | 来源:发表于2018-09-12 01:40 被阅读0次

排序算法总结

排序算法 平均时间复杂度 稳定性
冒泡排序 O(n2) 稳定
选择排序 O(n2) 不稳定
插入排序 O(n2) 稳定
希尔排序 O(n1.5) 不稳定
快速排序 O(N*logN) 不稳定
归并排序 O(N*logN) 稳定
堆排序 O(N*logN) 不稳定
基数排序 O(d(n+r)) 稳定

一. 冒泡排序(BubbleSort)

基本思想:两个数比较大小,较大的数下沉,较小的上浮。

过程:

比较相邻的两个数据,如果第二个数小,就交换位置。
从后向前两两比较,一直到比较最前两个数据。最终最小数被交换到起始的位置,这样第一个最小数的位置就排好了。
继续重复上述过程,依次将第2.3...n-1个最小数排好位置。

let stateOld = [56, 65, 36, 12, 5, 5, 27, 37, 52]
    let length = stateOld.length
    for(let i = 0; i < length - 1; i++) {
      for(let j = length - 1; j > 0;j--) {
        if(stateOld[j] < stateOld[j-1]) {
          stateOld[length] = stateOld[j-1]
          stateOld[j-1] = stateOld[j]
          stateOld[j] = stateOld[length]
        }
      }
    }
    console.log(stateOld) // [5, 5, 12, 27, 36, 37, 52, 56, 65, 56]


相关文章

  • java实现快速排序、归并排序、希尔排序、基数排序算法...

    快速排序算法 归并排序算法 希尔排序算法 基数排序算法

  • web开发需要知道的几个算法

    算法分类 快速排序算法 深度优先算法 广度优先算法 堆排序算法 归并排序算法

  • 算法学习(1)-排序算法

    八大排序算法九大排序算法再总结[经典排序算法][集锦][直观学习排序算法] 视觉直观感受若干常用排序算法 快速排序...

  • 经典排序算法总结

    经典排序算法集锦 冒泡法 排序算法入门之冒泡排序 排序算法入门之冒泡排序优化

  • 前端算法学习-第一篇

    冒泡排序算法 冒泡排序算法是最慢的排序算法之一,也是最容易实现的排序算法。之所以叫冒泡排序是因为使用这种算法排序时...

  • 七大排序算法之冒泡排序

    七大排序算法之冒泡排序 @(算法笔记)[排序算法, 冒泡排序, C++实现] 冒泡排序介绍 冒泡排序是七大排序算法...

  • 算法-选择排序

    算 法:选择排序算法时间复杂度: 选择排序算法概述 选择排序伪代码 选择排序实现 选择排序算法概述 排序算法有许...

  • 浅谈排序算法

    排序算法有很多种,今天先谈谈一些简单的排序算法。包括桶排序、冒泡排序和快速排序算法。后期总结各种排序算法。 桶排序...

  • 线性排序

    桶排序、计数排序、基数排序 一、线性排序算法介绍 1.线性排序算法包括桶排序、计数排序、基数排序。2.线性排序算法...

  • 算法4:插入排序和选择排序算法的比较

    排序算法列表电梯: 选择排序算法:详见 《算法4》2.1 - 选择排序算法(Selection Sort), Py...

网友评论

      本文标题:排序算法

      本文链接:https://www.haomeiwen.com/subject/skzpgftx.html