btvn.vn
Tìm kiếm Đăng nhập

Sắp xếp chọn và đối chiếu thuật toán

Lưu trên thiết bị này
Thuật toán tìm kiếm và sắp xếp · Chọn bài khác

Giữ vị trí đang xét, so sánh với các vị trí phía sau

Để sắp tăng dần theo cách sắp xếp chọn của bài, bắt đầu ở vị trí 1. Lần lượt so sánh phần tử tại vị trí này với từng phần tử phía sau, từ trái sang phải. Gặp phần tử nhỏ hơn thì **hoán đổi ngay** với phần tử đang ở vị trí 1. Tiếp tục dùng giá trị mới tại vị trí 1 để so sánh. Cuối vòng, vị trí 1 giữ số nhỏ nhất. Chuyển sang vị trí 2 và làm tương tự với các phần tử phía sau nó. Tiếp tục đến vị trí trước cuối. Khác với nổi bọt, hai vị trí được so sánh không nhất thiết liền kề. Cần giữ đúng cách đổi ngay đang học khi lập bảng, vì những biến thể sắp xếp chọn khác có thể cho trạng thái trung gian khác.

Bài luyện

Trong một vòng sắp xếp chọn theo bài, cần so sánh những phần tử nào?
Chọn một đáp án

Vòng đầu với dãy 9, 4, 7, 2, 6

Giữ vị trí đang xét là 1, nhưng giá trị tại đó có thể thay đổi sau hoán đổi: | Vị trí sau | So sánh với vị trí 1 | Dãy sau bước này | |---|---|---| | 2 | 4 nhỏ hơn 9: đổi | 4, 9, 7, 2, 6 | | 3 | 7 không nhỏ hơn 4: giữ | 4, 9, 7, 2, 6 | | 4 | 2 nhỏ hơn 4: đổi | 2, 9, 7, 4, 6 | | 5 | 6 không nhỏ hơn 2: giữ | 2, 9, 7, 4, 6 | Vòng đầu đưa 2 về vị trí 1. Đừng tiếp tục so sánh với số 9 ban đầu sau khi vị trí 1 đã đổi thành 4 rồi thành 2; mỗi bước dùng trạng thái hiện tại.

Bài luyện

Sau khi đổi 9 và 4 ở bước đầu, vị trí 1 giữ 4. Khi xét phần tử 7 ở vị trí 3, cần làm gì?
Chọn một đáp án

Bài luyện

Sau vòng đầu của sắp xếp chọn theo ví dụ, dãy nào đúng?
Chọn một đáp án

Kiểm từng vòng và giữ dữ liệu đi kèm

Dùng năm thẻ 9, 4, 7, 2, 6 để mô phỏng các vòng còn lại. Ghi dãy sau từng vòng và đối chiếu: | Sau vòng | Dãy | |---|---| | 1 | 2, 9, 7, 4, 6 | | 2 | 2, 4, 9, 7, 6 | | 3 | 2, 4, 6, 9, 7 | | 4 | 2, 4, 6, 7, 9 | Sau mỗi vòng, thêm một vị trí đầu đã đúng. Đầu ra cuối phải tăng dần và giữ đủ các giá trị. Muốn sắp giảm dần theo cùng cách, hoán đổi khi phần tử phía sau lớn hơn phần tử tại vị trí đang xét. Khi mỗi số có thông tin đi kèm, cần chuyển cả bản ghi. Ví dụ ba tổ giả định Sao, Trăng, Mây có số cây tương ứng 9, 4, 7. Sắp tăng theo số cây phải nhận Trăng–4, Mây–7, Sao–9. Nếu chỉ đổi cột số mà để tên đứng yên, số cây sẽ bị gán sai tổ. Hai thuật toán nổi bọt và chọn của bài cùng cho dãy cuối 2, 4, 6, 7, 9, nhưng kết quả sau vòng đầu khác nhau. Vì vậy phải kiểm cả thứ tự so sánh và trạng thái trung gian khi mô phỏng, không chỉ nhìn dãy cuối.

Bài luyện

Sao có 9 cây, Trăng có 4 cây, Mây có 7 cây. Khi sắp theo số cây tăng dần, cách nào giữ đúng dữ liệu?
Chọn một đáp án

Bài luyện

Nổi bọt và chọn cho cùng một dãy tăng dần ở cuối. Điều nào vẫn cần kiểm khi mô phỏng?
Chọn một đáp án

Đang học