Làm thế nào để triển khai Merge Sort trong Python?



Đây là một hướng dẫn đơn giản và dễ dàng để tìm hiểu cách sử dụng Merge Sort, đồng thời tìm hiểu về thuật toán và cách triển khai của nó trong Python

Blog này dựa trên cách tiếp cận phân chia và chinh phục. Merge Sort là một thuật toán 'chia và chinh phục' trong đó vấn đề được chia thành các bài toán con và sau đó được hợp nhất để xác định giải pháp. Blog này trên Merge Sort in sẽ hướng dẫn bạn chi tiết về các chủ đề bên dưới -

Merge Sort trong Python là gì?

Merge Sort dựa trên thuật toán chia và chinh phục, trong đó mảng đầu vào được chia thành hai nửa, sau đó được sắp xếp riêng biệt và hợp nhất lại để đạt được giải pháp. Hàm merge () được sử dụng để hợp nhất các .





Phương pháp chia rẽ và chinh phục

  • Mảng được chia đôi và quá trình này được lặp lại với mỗi nửa cho đến khi mỗi nửa có kích thước là 1 hoặc 0.
  • Mảng có kích thước 1 được sắp xếp theo thứ tự.
  • Bây giờ hai mảng đã sắp xếp được kết hợp thành một mảng lớn. Và điều này được tiếp tục cho đến khi tất cả các phần tử được kết hợp và mảng được sắp xếp.

Đây là hình ảnh của sắp xếp hợp nhất để xóa hình ảnh cho bạn

kiểu dữ liệu sql cho ngày tháng

Mảng đầu vào = [3,1,4,1,5,9,2,6,5,4]



Hợp nhất sắp xếp | Edureka Blog | Edureka
Bây giờ, chúng ta hãy chuyển sang phần triển khai.

Triển khai Merge Sort trong Python

def mergeSort (nlist): print ('Splitting', nlist) if len (nlist)> 1: mid = len (nlist) // 2 lefthalf = nlist [: mid] righthalf = nlist [mid:] mergeSort (lefthalf) mergeSort (quyền) i = j = k = 0 trong khi tôi

Đầu ra:

$ python main.py
(‘Tách‘, [3, 1, 4, 1, 5, 9, 2, 6, 5, 4])
(‘Tách‘, [3, 1, 4, 1, 5])
(‘Tách‘, [3, 1])
(‘Tách‘, [3])
(‘Hợp nhất‘, [3])
(‘Tách‘, [1])
(‘Hợp nhất‘, [1])
(‘Hợp nhất‘, [1, 3])
(‘Tách‘, [4, 1, 5])
(‘Tách‘, [4])
(‘Hợp nhất‘, [4])
(‘Tách‘, [1, 5])
(‘Tách‘, [1])
(‘Hợp nhất‘, [1])
(‘Tách‘, [5])
(‘Hợp nhất‘, [5])
(‘Hợp nhất‘, [1, 5])
(‘Hợp nhất‘, [1, 4, 5])
(‘Hợp nhất‘, [1, 1, 3, 4, 5])
(‘Tách‘, [9, 2, 6, 5, 4])
(‘Tách‘, [9, 2])
(‘Tách‘, [9])
(‘Hợp nhất‘, [9])
(‘Tách‘, [2])
(‘Hợp nhất‘, [2])
(‘Hợp nhất‘, [2, 9])
(‘Tách‘, [6, 5, 4])
(‘Tách‘, [6])
(‘Hợp nhất‘, [6])
(‘Tách‘, [5, 4])
(‘Tách‘, [5])
(‘Hợp nhất‘, [5])
(‘Tách‘, [4])
(‘Hợp nhất‘, [4])
(‘Hợp nhất‘, [4, 5])
(‘Hợp nhất‘, [4, 5, 6])
(‘Hợp nhất‘, [2, 4, 5, 6, 9])
(‘Hợp nhất‘, [1, 1, 2, 3, 4, 4, 5, 5, 6, 9])
[1, 1, 2, 3, 4, 4, 5, 5, 6, 9]



java addactionlistener (cái này)

Lưu đồ để triển khai Sắp xếp Hợp nhất

Ưu điểm và cách sử dụng Merge Sort

Hầu hết các thuật toán khác hoạt động không tốt với cấu trúc dữ liệu tuần tự như tệp và danh sách được liên kết. Trong các cấu trúc này, việc truy cập một phần tử ngẫu nhiên cần thời gian tuyến tính, không phải thời gian không đổi thông thường. Và bản chất của sắp xếp hợp nhất làm cho cấu trúc dữ liệu đó trở nên dễ dàng và nhanh chóng.Một trong những tính năng tốt nhất của sắp xếp hợp nhất là số lượng so sánh thấp. Nó làm cho số lượng so sánh là O (n * log (n)), nhưng hệ số không đổi tốt hơn so với quicksort, điều này hữu ích khi hàm so sánh hoạt động chậm.Ngoài ra, cách tiếp cận chia để trị của sắp xếp hợp nhất giúp thuận tiện cho việc xử lý song song.

Với điều này, chúng ta đến phần cuối của blog này về “Cách triển khai Merge Sort trong Python”. Tôi hy vọng nội dung đã bổ sung một số giá trị cho kiến ​​thức của bạn về Python. Để có kiến ​​thức chuyên sâu về Python cùng với các ứng dụng khác nhau của nó, bạn có thể đăng ký tham gia trực tiếp với hỗ trợ 24/7 và truy cập trọn đời.