contoh penggambaran cara kerja merge sort.

Urut gabung atau sering juga disebut dalam istilah Inggrisnya merge sort merupakan algoritme pengurutan dalam ilmu komputer yang dirancang untuk memenuhi kebutuhan pengurutan atas suatu rangkaian data yang tidak memungkinkan untuk ditampung dalam memori komputer karena jumlahnya yang terlalu besar. Algoritma ini ditemukan oleh John von Neumann pada tahun 1945.

Algoritma

sunting

Prinsip utama yang diimplementasikan pada algoritma urut gabung sering kali disebut sebagai pecah-belah dan taklukkan (bahasa Inggris: divide and conquer). Cara kerja algoritma urut gabung adalah membagi larik data yang diberikan menjadi dua bagian yang lebih kecil. Kedua larik yang baru tersebut kemudian akan diurutkan secara terpisah. Setelah kedua buah list tersusun, maka akan dibentuk larik baru sebagai hasil penggabungan dari dua buah larik sebelumnya. Menurut keefektifannya, alogaritma ini bekerja dengan tingkat keefektifan O(nlog(n)). Dalam bentuk pseudocode sederhana algoritma ini dapat dijabarkan sebagai berikut:

 # Original data is on the input tape; the other tapes are blank
 function merge_sort(input_tape, output_tape, scratch_tape_C, scratch_tape_D)
     while any records remain on the input_tape
         while any records remain on the input_tape
             merge( input_tape, output_tape, scratch_tape_C)
             merge( input_tape, output_tape, scratch_tape_D)
         while any records remain on C or D
             merge( scratch_tape_C, scratch_tape_D, output_tape)
             merge( scratch_tape_C, scratch_tape_D, input_tape)

 # take the next sorted chunk from the input tapes, and merge into the single given output_tape.
 # tapes are scanned linearly.
 # tape[next] gives the record currently under the read head of that tape.
 # tape[current] gives the record previously under the read head of that tape.
 # (Generally both tape[current] and tape[previous] are buffered in RAM ...)
 function merge(left[], right[], output_tape[])
     do
        if left[current] ≤ right[current]
            append left[current] to output_tape
            read next record from left tape
        else
            append right[current] to output_tape
            read next record from right tape
    while left[current] < left[next] and right[current] < right[next]
    if left[current] < left[next]
        append current_left_record to output_tape
    if right[current] < right[next]
        append current_right_record to output_tape
    return

Contoh penerapan atas sebuah larik sebagai data sumber yang akan diurutkan {3, 9, 4, 1, 5, 2} adalah sebagai berikut:

  • Larik tersebut dibagi menjadi dua bagian, {3, 9, 4} dan {1, 5, 2}
  • Kedua larik kemudian diurutkan secara terpisah sehingga menjadi {3, 4, 9} dan {1, 2, 5}
  • Sebuah larik baru dibentuk yang sebagai penggabungan dari kedua larik tersebut {1}, sementara nilai-nilai dalam masing larik {3, 4, 9} dan {2, 5} (nilai 1 dalam elemen larik ke dua telah dipindahkan ke larik baru)
  • langkah berikutnya adalah penggabungan dari masing-masing larik ke dalam larik baru yang dibuat sebelumnya.
    • {1, 2} <-> {3, 4, 9} dan {5}
    • {1, 2, 3} <-> {4, 9} dan {5}
    • {1, 2, 3, 4} <-> {9} dan {5}
    • {1, 2, 3, 4, 5} <-> {9} dan {null}
    • {1, 2, 3, 4, 5, 9} <-> {null} dan {null}

Pranala luar

sunting

📚 Artikel Terkait di Wikipedia

Algoritma penyortiran

disamping mudah, dan dengan statemen yang kita mengerti. Sebagai contoh, bubble sort pertama sekali ditemukan pada tahun 1956. Walaupun banyak yang memperkirakan

Ali Abbasi (sutradara)

Ali Abbasi ( bahasa Persia: علی عباسیcode: fa is deprecated , lahir pada tahun 1981) Merupakan seorang pembuat film yang berkebangsaan Iran Ia terkenal

Abbas bin Firnas

make glass from stones (quartz), a student of music, and inventor of some sort of metronome." "Le saviez-vous  ? Le premier homme volant était berbère"

Noriyuki Makihara

Noriyuki Makihara (槇原 敬之code: ja is deprecated , Makihara Noriyuki), yang dijuluki Mackey (マッキーcode: ja is deprecated ) oleh para penggemarnya, adalah

Belial

the name of a satanic figure... Two considerations militate against this sort of reading, one historical and the other grammatical. First, the mythic personification

Daftar karakter The 100 Girlfriends Who Really, Really, Really, Really, Really Love You

pendidikan para karakter ada dalam tabel di bawah ini. Rentarō Aijō (愛城 恋太郎code: ja is deprecated , Aijō Rentarō) Pengisi suara: Wataru Katoh (Jepang); Travis

Dana Investasi Publik

Bloomberg. Diakses tanggal 4 October 2021. "Saudi's $700 billion PIF is an odd sort of sovereign fund". Reuters. 21 September 2023. Diakses tanggal 10 April

Oguri Cap

Classic Pedigrees (dalam bahasa Inggris). Diakses tanggal 2026-02-15. "What sort of horse was Oguri Cap? | Horse Racing Library". netkeiba (dalam bahasa Inggris)