JavaScript-並べ替えアルゴリズム-並べ替え順序付け
899 ワード
特徴:時間複雑度:O(nlog 2 n) 正規並べ替えは、安定した並べ替えアルゴリズム である.
原理:(分割法)原理は、2つの順序付きチェーンを連結する と類似している.は、複数の小さい順序行列に分割され、2つの連結によって最終的に完全なシーケンス を実現する.
コードの実現:(再帰)
原理:(分割法)
コードの実現:(再帰)
//
function mergeSort(arr) {
const len = arr.length;
if (len < 2) return arr;
const middle = Math.floor(len >> 1);
const left = arr.slice(0, middle);
const right = arr.slice(middle);
return merge(mergeSort(left), mergeSort(right));
}
function merge(left, right) {
let result = [];
while (left.length && right.length) {
if (left[0] <= right[0]) {
result.push(left.shift());
} else {
result.push(right.shift());
}
}
while (left.length) {
result.push(left.shift());
}
while (right.length) {
result.push(right.shift());
}
return result;
}