Bagaimana untuk melaksanakan Merge Sort di Python?



Berikut adalah tutorial yang mudah dan senang untuk mengetahui cara menggunakan Merge Sort, dan mengetahui tentang algoritma dan pelaksanaannya di Python

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?

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

Gabungkan urutan | Blog Edureka | Edureka
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 i

Pengeluaran:

$ 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 java

Carta 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.