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,
- Thuật toán sắp xếp lựa chọn
- Ví dụ về sắp xếp lựa chọn
- Phương pháp sắp xếp lựa chọn trong Java
- Chương trình sắp xếp lựa chọn trong Java
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ướ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 iCuố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.