xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs! xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

十大排序算法时间复杂度 All In One

十大排序算法时间复杂度 All In One

排序算法时间复杂度

排序算法对比

Big O

O(n) O(n*log(n)) O(n^2)

  1. 冒泡排序

  2. 选择排序

  3. 插入排序

  4. 快速排序 ✅

  5. 归并排序

  6. 基数排序

  7. 希尔排序

  8. 堆排序

  9. 桶排序

  10. 计数排序

排序算法分类

排序算法可以分为两种:内排序外排序;

内排序, 在排序过程中全部记录存放在内存;

外排序, 在排序过程中需要使用外存;

  1. 内排序有可以分为以下几类:

(1)、插入排序:直接插入排序、二分法插入排序、希尔排序

(2)、选择排序:直接选择排序、堆排序

(3)、交换排序:冒泡排序、快速排序

(4)、归并排序

(5)、基数排序

  1. 外排序

1. 冒泡排序


2. 选择排序


3. 插入排序


4. 快速排序



function quickSort(arr) {
  if (arr.length <= 1) {
    return arr;
  }
  // 中间 index
  let pivotIndex = Math.floor(arr.length / 2);
  // 截取中间值,✅ splice 改变原数组长度,  ❌ slice 不改变原数组长度
  const pivot = arr.splice(pivotIndex, 1)[0];
  const left = [];
  const right = [];
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] < pivot) {
      left.push(arr[i]);
    } else {
      right.push(arr[i]);
    }
  }
  // 递归
  return quickSort(left).concat([pivot], quickSort(right));
};


https://www.cnblogs.com/xgqfrms/p/16398639.html

5. 归并排序


6. 基数排序


7. 希尔排序


8. 堆排序


9. 桶排序


10. 计数排序

refs

js 十大排序算法 All In One

https://www.cnblogs.com/xgqfrms/p/13947122.html

https://www.cnblogs.com/nannaniteye/archive/2013/04/11/3013737.html

https://www.runoob.com/w3cnote/sort-algorithm-summary.html

(🐞 反爬虫测试!打击盗版⚠️)如果你看到这个信息, 说明这是一篇剽窃的文章,请访问 https://www.cnblogs.com/xgqfrms/ 查看原创文章!



©xgqfrms 2012-2021

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!


posted @ 2020-05-20 23:27  xgqfrms  阅读(2382)  评论(8编辑  收藏  举报