Contoh artikel ini menceritakan merger dan penyortiran ringkasan algoritma Java Sort. Bagikan untuk semua orang untuk referensi Anda. Analisis spesifiknya adalah sebagai berikut:
Gabungan Operasi (Gabungan), juga dikenal sebagai algoritma merger, mengacu pada penggabungan dua urutan yang telah diurutkan menjadi operasi urutan. Mirip dengan penyortiran cepat, mari kita lihat implementasi gabungan di Java.
Gabungkan penyortiran (gabungan) adalah untuk menggabungkan dua (atau lebih) atau lebih tabel pemesanan menjadi orde baru, yaitu membagi urutan yang akan diurutkan menjadi beberapa urutan, dan setiap urutan berikutnya tertib. Kemudian gabungkan urutan urutan ke dalam urutan keseluruhan.
Gabungan penyortiran adalah algoritma penyortiran yang efektif berdasarkan operasi merger. Algoritma ini adalah aplikasi pembagian dan penaklukan yang sangat khas. Gabungkan urutan berikutnya yang ada untuk mendapatkan urutan yang benar -benar tertib; Jika dua tabel yang dipesan digabungkan ke dalam tabel tertib, disebut 2-jalan.
Gabungkan algoritma penyortiran stabil, dan array membutuhkan ruang ekstra dari O (n).
Prinsip Kerja:
1. Berlaku ruang untuk membuat ukuran dua urutan yang diurutkan.
2. Atur dua pointer, dan posisi awal masing -masing adalah posisi awal dari dua urutan yang diurutkan.
3. Bandingkan elemen yang ditunjuk oleh dua pointer, pilih elemen yang relatif kecil di ruang merger, dan pindahkan pointer ke lokasi berikutnya
4. Ulangi Langkah 3 sampai pointer mencapai ujung urutan
5. Salin semua elemen yang tersisa dalam urutan lain langsung ke ekor urutan merger
Implementasi Kode:
//////////////// public void mergeSort () {long [] workspace = new Long [nelems]; [] Workspace, Int Lowerbound, Int Opperbound) {if (lowerbound == Upperbound) {return;} else {int mid = (Lowerbound+Upperbound)/2; Mid+ 1, Upperbound); ; +] = TheArray [lowptr ++];} else {workspace [j ++] = theArray [highptr ++];} while (lowptr <= mid) {workspace [j ++] = theArray [lowptr ++]; } While (highptr <= Upp erbound) {workspace [j ++] = theArray [highptr ++];} untuk (j = 0; j <n; j ++) {theArray [lowerbound+j] = workspace [j ];}}
Gabungan penyortiran adalah jenis yang relatif stabil. Dalam urutan input.
Diharapkan bahwa artikel ini bermanfaat untuk desain program Java semua orang.