
Anonymous
0
0
Lý thuyết Tin Học 7 Bài 3 (Cánh diều): Sắp xếp chọn
- asked 4 months agoVotes
0Answers
0Views
Lý thuyết Tin Học 7 Bài 3: Sắp xếp chọn
1. Ý tưởng sắp xếp bằng cách chọn dần
Ý tưởng giải quyết bài toán được thể hiện qua ví dụ sau:
Ví dụ: Giả sử cần đổi chỗ các số hạng trong dãy số 55, 19, 42, 94, 18, 67 để tạo ra được dãy có thứ tự giảm dần.
Bước 1. Số lớn nhất trong dãy số (94) cần được chuyển về vị trí thứ nhất trong dãy, do đó đổi chỗ 94 và 55, dãy còn lại là: 19, 42, 55, 18, 67.
Bước 2. Số lớn nhất trong dãy là 67 chuyển về đầu dãy này, do đó đổi chỗ 67 với 19, dãy còn lại chưa được sắp xếp là 42, 55, 18, 19.
Tiếp tục lặp lại việc “Chọn số lớn nhất và đổi chỗ cho nói với số đứng đầu dãy”, cho đến khi hết dãy ban đầu.
Hình 3.1: Minh họa ý tưởng sắp xếp bằng cách chọn dần
2. Thuật toán sắp xếp chọn
Bài toán sắp xếp đặt ra như sau:
Đầu vào: Dãy số a1, a2, …, an gọi là dãy (a).
Đầu ra: Dãy số gồm các dãy số (a) những thứ tự giảm dần.
Thuật toán gồm một vòng lặp n – 1 lần, mỗi lần lặp nhằm đưa số của dãy vào đúng vị trí mong muốn.
Hình 3.2: Một mô tả thuật toán sắp xếp chọn
Trong các bước trên có yêu cầu tìm số lớn nhất trong dãy số cho trước (a).
Các bước để tìm được số lớn nhất của một dãy số nằm ở vị trí nào:
Bước 1. Tạm ghi nhận vị trí của số lớn nhất là 1.
Hình 3.3: Minh họa cách tìm số lớn nhất trong dãy số
Bước 2. So sánh a2 với số lớn nhất, nếu a2 lớn hơn số lớn nhất thì ghi nhận lại vị trị số lớn nhất là 2.
Cứ tiếp tục như vậy, đến khi so sánh xong an với số lớn nhất và ghi nhận lại vị trí của số lớn nhất thì số lớn nhất chính là số lớn nhất trong toàn bộ dãy và tìm được vị trí m của số lớn nhất trong dãy.
3. Bài toán sắp xếp
Sắp xếp là bài toán cơ sở trong tin học. Duy trì dữ liệu được sắp xếp đúng thứ tự sẽ làm giảm đáng kể thời gian tìm kiếm dữ liệu.
Khi phát biểu bài toán cần xác định rõ:
- Dãy đầu vào: Sắp xếp những gì?
- Tiêu chí: Sắp xếp theo cái gì? Thứ tự tăng dần hay giảm dần?