Pernah dengar mengenai istilah, “Divide and Conquer”? Artikel ini cukup khusus berdasarkan pendekatan ini. Gabungkan Susun adalah algoritma 'membahagi dan menaklukkan' di mana kita mula-mula membahagikan masalah itu ke dalam sub-masalah dan kemudian menggabungkannya bersama-sama untuk menaklukkan penyelesaian kita. Berikut adalah gambaran keseluruhan lengkap mengenai konsep penggabungan di J .
Apakah jenis penggabungan di Java?
Penggabungan jenis adalah salah satu yang popular menyusun algoritma tersedia dan ia mengikuti pendekatan perpecahan dan penaklukan. Masalah dibahagikan kepada sub-masalah dan digabungkan bersama untuk mencapai penyelesaian akhir!
Sekarang, apa sebenarnya yang berlaku semasa kerja penggabungan? Mari kita fahami secara terperinci.
Mengusahakan penggabungan
Terdapat dua langkah yang diikuti oleh penyatuan gabungan semasa proses:
- Bahagikan: Pada langkah ini, array input dibahagikan kepada 2 bahagian, pivot adalah titik tengah array. Langkah ini dilakukan secara rekursif untuk semua separuh susunan sehingga tidak ada lagi setengah tatasusunan untuk dibahagi lebih jauh.
- Menakluk: Dalam langkah ini, kita menyusun dan menggabungkan tatasusunan terbahagi dari bawah ke atas dan mencapai arah susunan yang disusun.
Pendekatan ini menolong anda menyusun subbahagian masalah dengan mudah terlebih dahulu dan dengan itu, mencari jalan penyelesaiannya.
Izinkan saya menunjukkan gambaran penggabungan penggabungan.
Contoh: Diagram
adalah ijazah sarjana
Di sini, anda melihat bagaimana rupa gabungan. Konsep utama penggabungan jenis adalah kurang memerlukan masa untuk disusun. Sekarang, menuju bahagian pelaksanaan kami!
Pelaksanaan
pakej MyPackage public class MergeSort {void merge (int arr [], int beg, int mid, int end) {int l = mid - beg + 1 int r = end - mid int LeftArray [] = int baru [l] int RightArray [] = int baru [r] untuk (int i = 0 iPengeluaran:
Susunan disusun
satu
4
17
22
2. 3
40
Empat lima
51
55
90Ini adalah bagaimana kod Java yang menggambarkan jenis gabungan. Melangkah ke segmen seterusnya.
Kerumitan
Kerumitan dibahagikan kepada dua jenis: Kerumitan masa dan Kerumitan ruang. Dalam kes penggabungan, data seperti yang ditunjukkan di bawah:
Kerumitan Kes terbaik
Kes Purata
Kes terburuk
Kerumitan Masa
O (n log n)
O (n log n)
php mysql_fetch_O (n log n)
Kerumitan Ruang
-
-
O (n)
Dengan ini, saya akan menyimpulkan artikel ini. Saya harap isi yang dijelaskan di atas memberi nilai tambah kepada pengetahuan Java anda. Kami akan terus meneroka dunia Java bersama-sama. Nantikan!
Lihat oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk pelajar dan profesional yang ingin menjadi Pembangun Java. Kursus ini dirancang untuk memberi Anda awal dalam pengaturcaraan Java dan melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.
Ada soalan untuk kami? Sila sebutkan di bahagian komen ini “ Gabungkan jenis di Java 'Blog dan kami akan menghubungi anda secepat mungkin.