排序算法 All In One
排序算法 All In One
在计算机科学与数学中,一个
排序算法
(Sorting Algorithm
)是一种能将一串资料依照特定排序方式
进行排列
的一种算法。
最常用到的排序方式
是数值顺序
以及字典顺序
。
有效的排序算法在一些算法(例如搜索算法
与合并算法
)中是重要的,如此这些算法才能得到正确解答。
排序算法也用在处理文字资料以及产生人类可读的输出结果。
基本上,排序算法的输出必须遵守下列两个原则:
输出结果为递增序列
(递增是针对所需的排序顺序而言);
输出结果是原输入的一种排列
、或是重组
;
排序算法 js solutions
- 快速排序
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/13947110.html
https://www.cnblogs.com/xgqfrms/p/13857663.html
- 归并排序
https://www.cnblogs.com/xgqfrms/p/13947208.html
- 选择排序
https://www.cnblogs.com/xgqfrms/p/13947221.html
- 插入排序
https://www.cnblogs.com/xgqfrms/p/13947227.html
- 冒泡排序
https://www.cnblogs.com/xgqfrms/p/13947244.html
- 希尔排序
https://www.cnblogs.com/xgqfrms/p/13947231.html
- 桶排序
https://www.cnblogs.com/xgqfrms/p/13947357.html
- 堆排序/二叉树排序
https://www.cnblogs.com/xgqfrms/p/13947103.html
- 基数排序
https://www.cnblogs.com/xgqfrms/p/13947255.html
- 计数排序
https://www.cnblogs.com/xgqfrms/p/13947347.html
图解算法数据结构 All In One
https://www.cnblogs.com/xgqfrms/p/16366896.html
LeetCode
排序算法题
https://leetcode.com/tag/sorting/
refs
https://zh.wikipedia.org/wiki/排序算法
©xgqfrms 2012-2020
www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/16398639.html
未经授权禁止转载,违者必究!