Làm thế nào để Thực hiện Sắp xếp Lựa chọn trong Java?



Bài viết này sẽ giúp bạn hiểu cặn kẽ về Sắp xếp Lựa chọn Trong Java với cách phân loại thực tế phù hợp cho giống nhau.

là một trong những thuật toán đơn giản nhất để học & viết mã. Bài viết này sẽ giúp bạn tìm hiểu chi tiết về Lựa chọn Sắp xếp Trong Java. Các gợi ý sau sẽ được đề cập trong bài viết này,

Vì vậy, chúng ta hãy bắt đầu với bài viết Sắp xếp Lựa chọn Trong Java này,





Phần quan trọng nhất trong Sắp xếp lựa chọn là hiểu rằng thuật toán duy trì hai mảng con:

  • Một mảng con là mảng được sắp xếp
  • Một mảng con khác là mảng không được sắp xếp

Hình ảnh- Sắp xếp lựa chọn trong Java- Edureka



hướng dẫn studio trực quan cho người mới bắt đầu

Mảng con đã sắp xếp được giữ ở đầu mảng ban đầu trong khi phần còn lại tạo thành mảng con chưa được sắp xếp. Thuật toán di chuyển phần tử nhỏ nhất từ ​​mảng chưa được sắp xếp vào cuối mảng được sắp xếp.
Nói một cách chính xác, điều này không di chuyển, nó đang hoán đổi các phần tử nhỏ nhất của mảng chưa được sắp xếp với phần tử đầu tiên của mảng chưa được sắp xếp, và sau đó tăng chỉ số của mảng đã sắp xếp.

Hãy làm cho nó đơn giản hơn. Sắp xếp lựa chọn trước tiên tìm phần tử nhỏ nhất trong mảng chưa được sắp xếp (mảng [0..n], là mảng hoàn chỉnh trong lần lặp đầu tiên) và hoán đổi nó với phần tử đầu tiên. Sau đó, nó tìm phần tử nhỏ thứ hai trong mảng chưa được sắp xếp (tức là mảng [1..n]) và hoán đổi nó với phần tử thứ hai và thuật toán tiếp tục thực hiện điều này cho đến khi toàn bộ mảng được sắp xếp.

Vì vậy, mảng được sắp xếp tăng từ 0 đến n với mỗi lần lặp và mảng chưa được sắp xếp giảm dạng n xuống 0 với mỗi lần lặp. Khi thuật toán liên tục chọn các phần tử nhỏ nhất và hoán đổi nó vào đúng vị trí của nó, do đó nó được đặt tên là Sắp xếp lựa chọn.
Vì độ phức tạp về thời gian là một trong những yếu tố quan trọng nhất trong việc phân tích hiệu quả của thuật toán, hãy xem xét độ phức tạp về thời gian của Sắp xếp lựa chọn.



  • Độ phức tạp của trường hợp tệ nhất: O (n2)
  • Độ phức tạp của trường hợp tốt nhất: O (n2)
  • Độ phức tạp của trường hợp trung bình: O (n2)

Tiếp tục với bài viết này về Sắp xếp lựa chọn trong Java

Thuật toán sắp xếp lựa chọn

Bước 1 & trừ Đặt Min_Index thành 0
Bước 2 & trừ Tìm kiếm phần tử nhỏ nhất trong mảng
Bước 3 & trừ Hoán đổi bằng giá trị với phần tử tại Min_Index
Bước 4 & trừ Phần tăng dần Min_Index để trỏ đến phần tử tiếp theo
Bước 5 & trừ Lặp lại cho đến khi mảng hoàn chỉnh được sắp xếp

Tiếp tục với bài viết này về Sắp xếp lựa chọn trong Java

Ví dụ về sắp xếp lựa chọn

xarray [] = 15 10 99 53 36

Tìm phần tử nhỏ nhất trong mảng [0… 4] và hoán đổi nó với phần tử ở đầu
10 15 99 53 36

Tìm phần tử nhỏ nhất trong arr [1… 4]. Vì 15 là phần tử nhỏ nhất tiếp theo, hãy chuyển sang phần tử tiếp theo.
10 15 99 53 36

Tìm phần tử nhỏ nhất trong arr [2… 4] & & hoán đổi nó với phần tử thứ ba của phần tử
10 15 36 53 99

Tìm phần tử nhỏ nhất trong arr [1… 4]. Vì 53 là phần tử nhỏ nhất tiếp theo, hãy chuyển sang phần tử tiếp theo.
10 15 36 53 99

c c # c ++

Phần tử cuối cùng được mặc định ở vị trí chính xác của nó.
10 15 36 53 99

Bây giờ chúng ta đã hiểu hoạt động của thuật toán Sắp xếp lựa chọn, hãy hiểu cách triển khai Sắp xếp lựa chọn trong Java.

Lựa chọn Phương pháp sắp xếp trong Java

void sort (int array []) {int n = array.length // Vòng lặp để tăng ranh giới của mảng đã sắp xếp for (int i = 0 i

Cuối cùng, hãy xem chương trình Java hoàn chỉnh để thực hiện Sắp xếp lựa chọn.

Chương trình sắp xếp lựa chọn trong Java

class SelectionSort {// Phương thức Sắp xếp Lựa chọn void sort (int array []) {int n = array.length for (int i = 0 i

Đầu ra:

Bây giờ sau khi thực hiện chương trình Java trên, bạn sẽ hiểu cách hoạt động của Selection Sort và cách triển khai nó trong Java. Tôi hy vọng blog này là thông tin và giá trị gia tăng cho bạn.Vì vậy, chúng ta đã kết thúc bài viết này về 'Sắp xếp lựa chọn trong Java'. Nếu bạn muốn tìm hiểu thêm,kiểm tra bởi Edureka, một công ty học trực tuyến đáng tin cậy. Khóa đào tạo và cấp chứng chỉ Java J2EE và SOA của Edureka được thiết kế để đà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 công tác Java khác nhau như Hibernate & Spring.

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