Algoritma Merge Sort terkenal efisien, tetapi tetap sederhana dalam implementasinya. Silakan tengok penjabarannya dengan menggunakan JavaScript dalam video berikut ini!
Implementasi fungsi merge
sendiri adalah sebagai berikut:
function merge(A, B) {
let C = [];
while(A.length > 0 && B.length > 0) {
if (A[0] < B[0]) {
C.push(A.shift());
} else {
C.push(B.shift());
}
}
C = C.concat(A);
C = C.concat(B);
return C;
}
yang bisa langsung dicemplungkan ke dalam:
function sort(data) {
if (data.length <= 1) return data;
if (data.length === 2) {
if (data[0] < data[1]) return data;
return [data[1], data[0]];
}
const mid = data.length >> 1;
const left = data.slice(0, mid);
const right = data.slice(mid);
const sortedLeft = sort(left);
const sortedRight = sort(right);
return merge(sortedLeft, sortedRight);
}
Ayo kita belajar dan tetap semangat!
Discussion
Penjelasan dari mas Ariya simple dan mudah dimengerti seperti biasa