Kho tàng tài liệu học tập phong phú.

Tin học 11 Kết nối tri thức Bài 21: Các thuật toán sắp xếp đơn giản

1.1. Thuật toán sắp xếp chèn

– Thuật toán sắp xếp chèn: chỉ số i chạy từ 1 đến n-1. Mỗi vòng “chèn” phần tử A[i] vào vị trí đúng của dãy con đã sắp xếp A[0] đến A[i-1].

– “Chèn” A[i] vào vị trí đúng trong dãy con A[0] đến A[i-1] bằng cách “nhấc” A[i] lên, chuyển các phần tử bên trái A[i] lớn hơn sang phải, và đặt A[i] vào vị trí đúng.

– Sau n-1 bước lặp, dãy được sắp xếp xong.

– Thuật toán sắp xếp chèn có thể mô tả bằng hàm insertionSort(A) như sau:

 

 

1.2. Thuật toán sắp xếp chọn

– Thuật toán sắp xếp chọn: chỉ số i chạy từ 0 đến n-2.

– Tại mỗi bước lặp, tìm phần tử nhỏ nhất trong dãy A[i], A[i+1], A[n-1] và đổi chỗ phần tử nhỏ nhất này với A[i].

– Mô tả thuật toán chọn như sau:

 

 

– Thuật toán sắp xếp chọn có thể mô tả bằng hàm insertionSort(A) như sau:

 

 

1.3. Thuật toán sắp xếp nổi bọt

– Thuật toán sắp xếp nổi bọt lấy ý tưởng từ hiện tượng “nổi bọt” của không khí dưới nước.

– Ý tưởng của thuật toán nổi bọt: liên tục đổi chỗ hai phần tử cạnh nhau nếu chúng chưa được sắp thứ tự đúng.

 

 

– Chỉ số j chạy từ 0 đến n – 2 và kiểm tra hai phần tử liền nhau A[j], A[j + 1], nếu chưa sắp thứ tự đúng thì đổi chỗ.

– Sau mỗi vòng lặp, phần tử lớn nhất được chuyển về cuối dãy.

– Không cần đủ n – 1 bước lặp, với chỉ số i, vòng lặp ở dòng 2 chỉ cần n-1-i bước lặp.

– Thuật toán sắp xếp chọn có thể mô tả bằng hàm BubbleSort(A) như sau: