Làm thế nào để Thực hiện Sắp xếp Hợp nhất trong Java?



Bài viết này về Sắp xếp hợp nhất trong Java sẽ giúp bạn hiểu cách sắp xếp danh sách các phần tử bằng cách sử dụng sắp xếp hợp nhất với sự trợ giúp của chương trình ví dụ.

Bạn đã bao giờ nghe về thuật ngữ “Chia rẽ và Chinh phục” chưa? Bài viết này khá cụ thể dựa trên cách tiếp cận này. Hợp nhất Sắp xếp là một thuật toán 'chia và chinh phục', nơi đầu tiên chúng ta chia vấn đề thành các bài toán con và sau đó kết hợp chúng lại với nhau để chinh phục giải pháp của chúng ta. Đây là tổng quan đầy đủ về khái niệm sắp xếp hợp nhất trong J .

Hãy bắt đầu nào!





Sắp xếp hợp nhất trong Java là gì?

Hợp nhất sắp xếp là một trong những cách phổ biến thuật toán sắp xếp có sẵn và nó theo cách tiếp cận phân chia và chinh phục. Một vấn đề được chia thành các vấn đề con và kết hợp với nhau để đi đến giải pháp cuối cùng!

Bây giờ, chính xác điều gì sẽ xảy ra trong quá trình làm việc của sắp xếp hợp nhất? Hãy để chúng tôi hiểu chi tiết.



Làm việc của sắp xếp hợp nhất

Có hai bước tiếp theo là sắp xếp hợp nhất trong quá trình này:

  • Chia: Ở bước này, mảng đầu vào được chia thành 2 nửa, trục chính là điểm giữa của mảng. Bước này được thực hiện đệ quy cho tất cả các nửa mảng cho đến khi không còn nửa mảng nào để chia thêm.
  • Chinh phục: Trong bước này, chúng tôi sắp xếp và hợp nhất các mảng đã chia từ dưới lên trên và tiếp cận với mảng đã sắp xếp của chúng tôi.

Cách tiếp cận này giúp bạn dễ dàng sắp xếp các phần phụ của vấn đề trước tiên và từ đó tìm ra giải pháp.

Hãy để tôi cho bạn thấy một đại diện bằng hình ảnh của sắp xếp hợp nhất.



Ví dụ: Sơ đồ

Merge Sort - Edureka

Ở đây, bạn đã thấy cách sắp xếp hợp nhất trông như thế nào. Khái niệm chính của sắp xếp hợp nhất là nó mất ít thời gian hơn để sắp xếp. Bây giờ, hãy chuyển sang phần thực hiện của chúng tôi!

Thực hiện

package MyPackage public class MergeSort {void merge (int arr [], int please, int mid, int end) {int l = mid - Please + 1 int r = end - mid int LeftArray [] = new int [l] int RightArray [] = new int [r] for (int i = 0 i

Đầu ra:
Mảng đã sắp xếp
một
4
17
22
2. 3
40
Bốn năm
51
55
90

Đây là cách mã Java mô tả sắp xếp hợp nhất trông như thế nào. Chuyển sang phân đoạn tiếp theo.

Phức tạp

Độ phức tạp được chia thành hai loại: Độ phức tạp về thời gian và Độ phức tạp về không gian. Trong trường hợp sắp xếp hợp nhất, dữ liệu như hình dưới đây:

Phức tạp

Trường hợp tốt nhất

Trường hợp trung bình

Trường hợp xấu nhất

Thời gian phức tạp

O (n log n)

c ++ sắp xếp các số theo thứ tự tăng dần

O (n log n)

O (n log n)

Không gian phức tạp

-

-

Trên)

Với điều này, tôi sẽ kết thúc bài viết này. Tôi hy vọng nội dung được giải thích ở trên có giá trị bổ sung cho kiến ​​thức Java của bạn. Chúng ta sẽ cùng nhau khám phá thế giới Java. Giữ nguyên!

Kiểm tra của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Khóa đào tạo và cấp chứng chỉ về Java J2EE và SOA của Edureka được thiết kế cho sinh viên và các chuyên gia muốn trở thành Nhà phát triển Java. Khóa học được thiết kế để cung cấp cho bạn khởi đầu về lập trình Java và đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung Java khác nhau như Hibernate & Spring.

Có một câu hỏi cho chúng tôi? Hãy đề cập đến nó trong phần nhận xét của điều này “ Hợp nhất sắp xếp trong Java ”Và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.