Coding Interview Prep · Pelajaran

Menggabungkan Dua Urutan Terurut

Menelusuri kedua list dengan satu pointer masing-masing

Pelajaran 4 dari 413 langkah

Menggabungkan Dua Urutan Terurut adalah pelajaran Coding Interview Prep gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Coding Interview Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Coding Interview Prep mencakup 4 pelajaran total.

Langkah Penggabungan

Diberikan dua daftar terurut, gabungkan keduanya menjadi satu daftar terurut. Penggabungan ini adalah inti dari sort gabung dan muncul di berbagai tempat. 🔗

Dua Masukan, Masing-Masing Satu Penunjuk

Berikan setiap daftar satu penunjuk, keduanya dimulai dari indeks 0. Anda akan menggerakkannya maju bersama-sama, tidak pernah mundur.

i = 0
j = 0

Selalu Ambil yang Lebih Kecil

Pada setiap langkah, bandingkan kedua elemen terdepan. Tambahkan yang lebih kecil ke hasil karena elemen itu harus muncul berikutnya dalam urutan terurut.

Majukan Pemenang

Setelah mengambil sebuah nilai, lakukan advance hanya pada penunjuk asal nilai tersebut. Daftar lainnya masih memiliki elemen terkecil yang menunggu.

if a[i] <= b[j]:
    out.append(a[i])
    i += 1
else:
    out.append(b[j])
    j += 1

Perulangan Utama

Teruskan penggabungan selama kedua daftar masih memiliki elemen. Setelah salah satunya habis, perbandingan tidak lagi masuk akal.

while i < len(a) and j < len(b):
    # compare and append
    pass

Kuras Sisa Elemen

Saat salah satu daftar kosong, daftar lainnya sudah terurut, jadi cukup lakukan append pada sisa bagian belakangnya langsung ke hasil.

out.extend(a[i:])
out.extend(b[j:])

Mengapa Bagian Belakang Tidak Perlu Diproses

Sisa bagian belakang sudah terurut, jadi tidak diperlukan perbandingan lagi. Salah satu dari dua pemanggilan extend itu cukup menambahkan elemen, sedangkan yang lainnya tidak menambahkan apa pun.

Total Waktu Linear

Setiap elemen diperiksa satu kali, sehingga penggabungan dua daftar berukuran n dan m memerlukan waktu O(n + m). Itulah waktu tercepat yang dapat dicapai.

Pertahankan Stabilitas

Menggunakan <= saat nilai sama akan mempertahankan elemen-elemen yang sama dalam urutan aslinya. Stabilitas ini penting saat Anda membawa data tambahan.

Gabungkan Juga dari Arah Terbalik

Untuk menggabungkan ke penyangga tanpa ruang kosong tambahan, telusuri dari belakang dan tempatkan elemen terbesar di posisi terakhir. Gagasannya sama, hanya dicerminkan.

Dari Penggabungan ke sort

Pecah, urutkan kedua bagian, lalu gabungkan: rekursi tersebut adalah sort gabung. Penggabungan dengan dua penunjuk yang baru Anda pelajari adalah mesin intinya.

Pemeriksaan Singkat

Anda sedang menggabungkan dua daftar terurut dengan satu penunjuk di masing-masing daftar.

Rangkuman

Telusuri dua daftar terurut dengan masing-masing satu penunjuk, selalu mengambil elemen terdepan yang lebih kecil, lalu kuras sisa bagian belakangnya. Algoritme ini berjalan dalam O(n + m) dan menjadi dasar sort gabung. 🚀

Gratis untuk memulai

Belajar Coding Interview Prep dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
90
Pelajaran
360

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menggabungkan Dua Urutan Terurut” gratis?

Ya — teks lengkap “Menggabungkan Dua Urutan Terurut” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Coding Interview Prep, upgrade ke CoddyKit PRO. Kursus Coding Interview Prep mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menggabungkan Dua Urutan Terurut”?

Menelusuri kedua list dengan satu pointer masing-masing Kamu berlatih Coding Interview Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Coding Interview Prep?

Tidak diperlukan pengalaman sebelumnya. Coding Interview Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Menggabungkan Dua Urutan Terurut” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Coding Interview Prep ini?

Ya. Setiap pelajaran Coding Interview Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Two Pointer pada Array Terurut
  2. Menemukan Pasangan dengan Jumlah Tertentu
  3. Menghapus Duplikat di Tempat
  4. Menggabungkan Dua Urutan Terurut
← Kembali ke Coding Interview Prep