十大排序算法时间复杂度 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
©xgqfrms 2012-2021
www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/12927226.html
未经授权禁止转载,违者必究!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
2019-05-20 CSS3 & Grid Layout All In One
2019-05-20 CSS3 & Flex Layout All In One
2019-05-20 npm & app-node-env All In One
2019-05-20 github & webhooks
2019-05-20 Google Advanced Search operators All In One
2019-05-20 macOS & timer & stop watch
2019-05-20 js & regex & var & highlight All In One