十大排序算法时间复杂度 All In One
十大排序算法时间复杂度 All In One
排序算法时间复杂度
排序算法对比
Big O
O(n) O(n*log(n)) O(n^2)
-
冒泡排序
-
选择排序
-
插入排序
-
快速排序 ✅
-
归并排序
-
基数排序
-
希尔排序
-
堆排序
-
桶排序
-
计数排序
排序算法分类
排序算法可以分为两种:内排序
和外排序
;
内排序, 在排序过程中全部记录存放在
内存
;
外排序, 在排序过程中需要使用
外存
;
内排序
有可以分为以下几类:
(1)、插入排序:直接插入排序、二分法插入排序、希尔排序
(2)、选择排序:直接选择排序、堆排序
(3)、交换排序:冒泡排序、快速排序
(4)、归并排序
(5)、基数排序
- 外排序
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, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/12927226.html
未经授权禁止转载,违者必究!