Có một bó que tính dài ngắn khác nhau, em hãy xếp các que tính thành dãy từ trái sang phải theo thứ tự ngắn dần
Đáp án
Bước 1. Que tính dài nhất cần được chuyển về vị trí thứ nhất trong dãy.
Bước 2. Que tính dài nhất trong dãy còn lại cần được chuyển về dầu dãy này.
Tiếp tục lặp lại việc “Chọn lấy que dài nhất trong dãy và đổi chỗ nó với các que còn lại: cho đến khi hết dãy.
Hoạt động
85
Bài toán sắp xếp ở mục 1 trên đây có gì giống và khác với bài toán sắp xếp nếu ở phần khởi động? Ý tưởng sắp xếp ở mục 1 có gì giống và khác với ý tưởng sắp xếp em đã sử dụng ở phần khởi động?
Đáp án
Bài toán sắp xếp ở mục 1:
Giống: Đều chọn dữ liệu lớn nhất và so sánh với những dữ liệu còn lại, nếu lớn nhất sẽ được xếp ở vị trí đầu tiên.
Khác: Sẽ khác nhau về số bước trình bày. Và đối với bài ở mục 1 được phân chia vị trí sẵn, còn mục khởi động thì không.
Ý tưởng sắp xếp của em hoàn toàn giống với ý tưởng sắp xếp của mục 1. Và khác nhau về số bước.
Luyện tập
86
Trình bày diễn biến từng bước của thuật toán sắp xếp chọn cho dãy số 11, 70, 18, 39, 63, 52, 41, 5 theo mẫu ở Hình 1
Đáp án
Bước 1. Số lớn nhất trong dãy số (70) cần được chuyển về vị trí thứ nhất trong dãy, do đó đổi chỗ 70 với 11. Sau bước này, vì 94 đã ở đúng vị trí mong muốn nên tiếp theo chỉ cần quan tâm đến dãy số còn lại: 11,18, 39, 63, 52, 41, 5.
Bước 2. Số lớn nhất trong dãy số còn lại (63) cần được chuyển về đầu dãy này, do đó đổi chỗ 63 với 11. Sau bước này có thêm số 63 đã ở đúng vị trí mong muốn, dãy số còn lại chưa được sắp xếp là 18, 39, 11, 52, 41, 5.
Tiếp tục lặp lại việc “Chọn lấy số lớn nhất trong dãy số còn lại và đổi chỗ nó với số đứng đầu dãy này” cho đến khi hết dãy ban đầu.
Dãy (a)
a1
a2
a3
a4
a5
a6
a7
a8
Giải thích
Ban đầu
11
70
18
39
63
52
41
5
Tiếp theo đổi chỗ 70 và a1
Sau bước 1
70
11
18
39
63
52
41
5
Tiếp theo đổi chỗ 63 và a2
Sau bước 2
70
63
18
39
11
52
41
5
Tiếp theo đổi chỗ 52 và a3
Sau bước 3
70
63
52
39
11
18
41
5
Tiếp theo đổi chỗ 41 và a4
Sau bước 4
70
63
52
41
11
18
39
5
Tiếp theo đổi chỗ 39 và a5
Sau bước 5
70
63
52
41
39
18
11
5
Tiếp theo không đổi chỗ
Sau bước 6
70
63
52
41
39
18
11
5
Tiếp theo không đổi chỗ
Sau bước 7
70
63
52
41
39
18
11
5
Tiếp theo không đổi chỗ
Dãy kết quả
70
63
52
41
39
18
11
5
Vận dụng 1
86
Trong thuật toán sắp xếp chọn, khi nào không cần thực hiện thao tác “Đổi chỗ \(a_m\) cho \(a_i\)” mà kết quả sắp xếp vẫn đúng?
Đáp án
Ta không cần thay đổi vị trí khi vị trí đó đã là số lớn nhất hoặc bé nhất trong dãy còn lại thì không cần phải thay đổi vị trí.
Vận dụng 2
86
Trong thuật toán sắp xếp chọn, nếu thay “Tìm giá trị lớn nhất” bằng “Tìm giá trị nhỏ nhất” thì kết quả nhận được là dãy số có thứ tự ra sao?
Đáp án
Nếu thay tìm giá trị lớn nhất bằng tìm giá trị nhỏ nhất thì dãy sẽ có thứ tự tăng dần (không giảm).
Câu 1
86
Hãy nêu vài ví dụ bài toán sắp xếp trong thực tế và nói rõ tiêu chi sắp xếp
Đáp án
Trong thực tế ta thường dùng thuật toán sắp xếp trong “Xếp hàng”, ta sẽ sắp xếp theo thứ tự tăng dần (không giảm).
Câu 2
86
Hãy tóm tắt bằng một câu trả lời cho câu hỏi: Thế nào là sắp xếp chọn?
Đáp án
Sắp xếp chọn dần là một thuật toán mô phỏng cách sắp xếp: Chọn phần tử lớn nhất trong dãy chưa sắp xếp còn lại và xếp vào đầu dãy đó.