Blog ini berdasarkan pendekatan divide and winer. Merge Sort adalah algoritma 'divide and winer' di mana masalahnya dibahagikan kepada subproblem dan kemudian digabungkan untuk menaklukkan penyelesaiannya. Blog ini di Merge Sort in akan membimbing anda melalui topik di bawah secara terperinci -
- Apakah Merge Sort di Python?
- Pendekatan Divide and Conquer
- Melaksanakan Penggabungan Penggabungan di Python
- Carta alir untuk pelaksanaan Merge Sort
- Kelebihan dan Penggunaan
Apakah Merge Sort di Python?
Merge Sort didasarkan pada algoritma divide and winer di mana array input dibahagikan kepada dua bahagian, kemudian disusun secara berasingan dan bergabung kembali untuk mencapai penyelesaian. Fungsi penggabungan () digunakan untuk menggabungkan diurutkan .
Pendekatan Divide and Conquer
- Susunan dibahagi dua dan proses diulang dengan setiap separuh sehingga setiap separuh berukuran 1 atau 0.
- Susunan ukuran 1 disusun secara sepele.
- Kini dua susunan yang disusun digabungkan menjadi satu susunan besar. Dan ini berterusan sehingga semua elemen digabungkan dan susunan disusun.
Berikut adalah gambaran penggabungan untuk membersihkan gambar untuk anda
Array Masukan = [3,1,4,1,5,9,2,6,5,4]
apa yang dilakukan oleh alert dalam javascript
Sekarang, mari kita beralih ke pelaksanaan.
Melaksanakan Penggabungan Penggabungan di Python
def mergeSort (nlist): print ('Splitting', nlist) if len (nlist)> 1: mid = len (nlist) // 2 lefthalf = nlist [: mid] righthalf = nlist [mid:] mergeSort (lefthalf) mergeSort (righthalf) i = j = k = 0 sementara iPengeluaran:
$ python main.py
(‘Membelah’, [3, 1, 4, 1, 5, 9, 2, 6, 5, 4])
(‘Membelah’, [3, 1, 4, 1, 5])
(‘Membelah’, [3, 1])
(‘Membelah’, [3])
(‘Penggabungan’, [3])
(‘Membelah’, [1])
(‘Penggabungan’, [1])
(‘Penggabungan’, [1, 3])
(‘Membelah’, [4, 1, 5])
(‘Membelah’, [4])
(‘Penggabungan’, [4])
(‘Membelah’, [1, 5])
(‘Membelah’, [1])
(‘Penggabungan’, [1])
(‘Membelah’, [5])
(‘Penggabungan’, [5])
(‘Penggabungan’, [1, 5])
(‘Penggabungan’, [1, 4, 5])
(‘Penggabungan’, [1, 1, 3, 4, 5])
(‘Membelah’, [9, 2, 6, 5, 4])
(‘Membelah’, [9, 2])
(‘Membelah’, [9])
(‘Penggabungan’, [9])
(‘Membelah’, [2])
(‘Penggabungan’, [2])
(‘Penggabungan’, [2, 9])
(‘Membelah’, [6, 5, 4])
(‘Membelah’, [6])
(‘Penggabungan’, [6])
(‘Membelah’, [5, 4])
(‘Membelah’, [5])
(‘Penggabungan’, [5])
(‘Membelah’, [4])
(‘Penggabungan’, [4])
(‘Penggabungan’, [4, 5])
(‘Penggabungan’, [4, 5, 6])
(‘Penggabungan’, [2, 4, 5, 6, 9])
(‘Penggabungan’, [1, 1, 2, 3, 4, 4, 5, 5, 6, 9])
[1, 1, 2, 3, 4, 4, 5, 5, 6, 9]
cara mengkonfigurasi gerhana untuk javaCarta Alir untuk pelaksanaan Merge Sort
Kelebihan dan Penggunaan Susun Gabungan
Sebilangan besar algoritma lain menunjukkan prestasi buruk dengan struktur data berurutan seperti fail dan senarai terpaut. Dalam struktur ini, mengakses elemen rawak memerlukan masa linear, bukan masa tetap biasa. Dan sifat penggabungan menjadikannya mudah dan pantas untuk struktur data seperti itu.Salah satu ciri terbaik penggabungan jenis adalah jumlah perbandingannya yang rendah. Ini menjadikan O (n * log (n)) jumlah perbandingan, tetapi faktor pemalarnya bagus berbanding dengan quicksort, yang menjadikannya berguna ketika fungsi membandingkan adalah operasi yang lambat.Juga, pendekatan pembahagi dan penaklukan penggabungan memudahkan proses pemprosesan selari.
Dengan ini, kita akan mengakhiri blog ini mengenai 'Cara menerapkan Merge Sort di Python'. Saya harap kandungan itu menambah nilai pengetahuan anda di Python. Untuk mendapatkan pengetahuan mendalam tentang Python bersama dengan pelbagai aplikasinya, anda boleh mendaftar secara langsung dengan sokongan 24/7 dan akses seumur hidup.