Kode Semu
Pelajaran 4 dari 9 dalam kursus Merge Sort: Seri DSA di Coddy.
mergeSort(array):
if length(array) <= 1:
return array
mid = length(array) / 2
left = mergeSort(array[0..mid])
right = mergeSort(array[mid..end])
return merge(left, right)
merge(left, right):
result = []
while left and right both still have elements:
if left[0] <= right[0]:
move the front of left into result
else:
move the front of right into result
append whatever remains of left
append whatever remains of right
return resultDua fungsi bekerja bersama:
- mergeSort terus membagi array hingga bagian-bagiannya sudah terurut dengan mudah, lalu mengandalkan merge untuk menggabungkannya.
- merge menelusuri dua list terurut sekaligus, selalu mengambil elemen terdepan yang lebih kecil, sehingga list gabungan tetap terurut.
Coba sendiri
Pelajaran ini tidak memiliki tantangan kode.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Merge Sort: Seri DSA
Latihan sendiri: Compiler C online