Giải Tin Học 7 trang 80

Lời giải chi tiết SGK Lớp 7 · Môn Tin Học · Trang 80–81

Nội dung chính

Hai trang này trình bày lý thuyết về Thuật toán sắp xếp nổi bọtThuật toán sắp xếp chọn, kèm theo một hoạt động thực hành và một câu hỏi trắc nghiệm.


Hoạt động 1: Mô phỏng thuật toán sắp xếp nổi bọt

Đề bài:

Em hãy thực hiện thuật toán sắp xếp nổi bọt để sắp xếp 5 số sau đây theo thứ tự tăng dần. Hãy mô phỏng các bước lặp sắp xếp bằng hình vẽ minh hoạ.

Dãy số ban đầu: 3, 5, 4, 1, 2


Cách giải

Nguyên tắc của sắp xếp nổi bọt: So sánh hai phần tử đứng cạnh nhau, nếu phần tử đứng sau nhỏ hơn phần tử đứng trước thì đổi chỗ chúng cho nhau. Lặp lại cho đến khi dãy được sắp xếp.


Dãy ban đầu: | 3 | 5 | 4 | 1 | 2 |


🔄 VÒNG LẶP THỨ NHẤT (Đưa phần tử nhỏ nhất về vị trí đầu tiên)

BướcSo sánhKết quảDãy hiện tại
1.1So sánh 3 và 53 < 5 → KHÔNG đổi3, 5, 4, 1, 2
1.2So sánh 5 và 45 > 4 → Đổi chỗ3, 4, 5, 1, 2
1.3So sánh 5 và 15 > 1 → Đổi chỗ3, 4, 1, 5, 2
1.4So sánh 5 và 25 > 2 → Đổi chỗ3, 4, 1, 2, 5

Kết quả vòng lặp 1: | 3 | 4 | 1 | 2 | 5 |

→ Số 5 (lớn nhất) đã "nổi" lên vị trí cuối cùng.


🔄 VÒNG LẶP THỨ HAI (Xét từ vị trí 1 đến vị trí 4)

BướcSo sánhKết quảDãy hiện tại
2.1So sánh 3 và 43 < 4 → KHÔNG đổi3, 4, 1, 2, 5
2.2So sánh 4 và 14 > 1 → Đổi chỗ3, 1, 4, 2, 5
2.3So sánh 4 và 24 > 2 → Đổi chỗ3, 1, 2, 4, 5

Kết quả vòng lặp 2: | 3 | 1 | 2 | 4 | 5 |

→ Số 4 đã "nổi" lên vị trí thứ 4.


🔄 VÒNG LẶP THỨ BA (Xét từ vị trí 1 đến vị trí 3)

BướcSo sánhKết quảDãy hiện tại
3.1So sánh 3 và 13 > 1 → Đổi chỗ1, 3, 2, 4, 5
3.2So sánh 3 và 23 > 2 → Đổi chỗ1, 2, 3, 4, 5

Kết quả vòng lặp 3: | 1 | 2 | 3 | 4 | 5 |

→ Số 3 đã "nổi" lên vị trí thứ 3.


🔄 VÒNG LẶP THỨ TƯ (Xét từ vị trí 1 đến vị trí 2)

BướcSo sánhKết quảDãy hiện tại
4.1So sánh 1 và 21 < 2 → KHÔNG đổi1, 2, 3, 4, 5

Kết quả vòng lặp 4: | 1 | 2 | 3 | 4 | 5 |


Đáp án: Dãy sau khi sắp xếp tăng dần: 1, 2, 3, 4, 5

Câu hỏi trắc nghiệm

Đề bài:

Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách:

A. Chọn phần tử có giá trị bé nhất đặt vào đầu danh sách.

B. Chọn phần tử có giá trị lớn nhất đặt vào đầu danh sách.

C. Hoán đổi nhiều lần các phần tử liền kề nếu giá trị của chúng không đúng thứ tự.

D. Chèn phần tử vào vị trí thích hợp để đảm bảo danh sách sắp xếp theo đúng thứ tự.


Cách giải

Phân tích từng đáp án:

  • Đáp án A: "Chọn phần tử bé nhất đặt vào đầu" → Đây là đặc điểm của thuật toán sắp xếp chọn, không phải sắp xếp nổi bọt. ❌
  • Đáp án B: "Chọn phần tử lớn nhất đặt vào đầu" → Cũng là một dạng của sắp xếp chọn. ❌
  • Đáp án C: "Hoán đổi nhiều lần các phần tử liền kề nếu không đúng thứ tự" → Đúng! Đây chính xác là cách hoạt động của sắp xếp nổi bọt. ✅
  • Đáp án D: "Chèn phần tử vào vị trí thích hợp" → Đây là đặc điểm của thuật toán sắp xếp chèn. ❌
Đáp án: C

💡 Mẹo nhớ: - Nổi bọt = So sánh và đổi chỗ hai phần tử liền kề (như bọt khí nổi lên từ từ) - Sắp xếp chọn = Tìm phần tử nhỏ nhất rồi đưa về đầu

🎯 Ghi nhớ: - Sắp xếp nổi bọt: So sánh và hoán đổi các cặp phần tử liền kề nhiều lần cho đến khi dãy được sắp xếp. - Sắp xếp chọn: Tìm phần tử nhỏ nhất trong phần chưa sắp xếp, đưa về vị trí đầu tiên của phần đó, rồi lặp lại với các vị trí tiếp theo. - Cả hai thuật toán đều cho kết quả giống nhau, nhưng cách thực hiện khác nhau.
Chế độ đọc sách →