Insertion Sort trong java là một thuật toán sắp xếp đơn giản và hiệu quả, tạo ra mảng được sắp xếp cuối cùng một phần tử tại một thời điểm.Nó thường được triển khai khi người dùng có một tập dữ liệu nhỏ. Tôi sẽ đề cập đến các chủ đề sau:
- Sắp xếp chèn là gì?
- Thuật toán sắp xếp chèn
- Mã để sắp xếp chèn trong Java
- Các trường hợp phức tạp và ranh giới
Sắp xếp chèn là gì?
Insertion Sort trong java là một thuật toán sắp xếp hiệu quả, tạo ra mảng được sắp xếp cuối cùng một phần tử tại một thời điểm. Một phần tử từ dữ liệu đầu vào sẽ bị xóa sau mỗi lần lặp. Nó được so sánh với giá trị lớn nhất hiện có trong mảng và sau đó được chuyển đến vị trí chính xác. Để hiểu cách làm việc của loại này, chúng ta hãy xem ví dụ này.
Thuật toán sắp xếp chèn
Giả sử chúng ta có một mảng chưa được sắp xếp [6, 5, 15, 3, 9]
Lặp lại chỉ mục đầu tiên: Giá trị tại chỉ mục đầu tiên là 5, nhỏ hơn 6. Mảng trở thành [6, 6, 15, 2, 8] .
Khi đến đầu tập hợp các phần tử, chúng tôi đặt giá trị ở chỉ số 0.Mảng bây giờ trở thành: [5, 6, 15, 3, 9]
Lặp lại chỉ mục thứ hai : Giá trị của chỉ mục thứ 2 là 15, lớn hơn 6. Không có thay đổi nào được thực hiện trong mảng.
Lặp lại chỉ mục thứ 3 : Giá trị ở chỉ số thứ 3 là 3. Giá trị nhỏ hơn 15, do đó mảng trở thành [5, 6, 15, 15, 9]
làm thế nào để chuyển đổi double sang int java
Giá trị 3 cũng nhỏ hơn 6, do đó mảng bây giờ chuyển thành [5, 6, 6, 15, 9]
3 cũng nhỏ hơn 5. Mảng lại được sửa đổi thành [5, 5, 6, 15, 9]
Khi đạt đến đầu của mảng, 3 được đặt ở chỉ số 0. Mảng bây giờ được định nghĩa là [3, 5, 6, 15, 9]
Lặp lại chỉ mục thứ 4: Giá trị ở chỉ mục thứ 4 là 9. Theo một thuật toán tương tự, mảng được sắp xếp cuối cùng là: [3, 5, 6, 9, 15]
Mã để sắp xếp chèn trong Java
// Chương trình Java để thực hiện Insertion Sort public class InsertionEx {/ * Hàm sắp xếp mảng bằng cách sử dụng chức năng chèn * / void sort (int a []) {int n = a.length for (int i = 1 i= 0 && a [j]> key) {a [j + 1] = a [j] j = j - 1} a [j + 1] = key}} / * Hàm in mảng kích thước n * / static void displayArray (int a []) {int n = a.length for (int i = 0 i Các trường hợp phức tạp và ranh giới
Thời gian phức tạp : Độ phức tạp thời gian của sắp xếp chèn là O (n * 2).
Trường hợp ranh giới : Thời gian tối đa được thực hiện bởi sắp xếp chèn là khi các phần tử được sắp xếp theo thứ tự ngược lại. Nếu các phần tử đã được sắp xếp, cần thời gian tối thiểu
Insertion Sort được người dùng thực hiện khi số phần tử được sắp xếp ít hơn. Nó cũng có thể được sử dụng khi mảng được chỉ định gần như được sắp xếp, tức là chỉ có một số số bị đặt sai vị trí và không ở vị trí thích hợp.
tuần tự hóa trong java là gìVới điều này, chúng ta kết thúc bài viết Sắp xếp chèn trong Java này. C heck out 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? Vui lòng đề cập đến vấn đề này trong phần nhận xét của blog “Phân loại chèn trong Java” 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.