Câu hỏi:
16/07/2024 164
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.
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.
Trả lời:
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
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 |
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
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.
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.
Câu 2:
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ỗ am cho ai” mà kết quả sắp xếp vẫn đúng?
Câu 3:
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?
Câu 4:
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.
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.
Câu 5:
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?
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?
Câu 6:
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?
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?