Câu hỏi:

21/07/2024 99

Hãy mô phỏng thuật toán sắp xếp nổi bọt cho một dãy số nguyên tùy chọn, không ít hơn 5 phần tử. Sau bao nhiêu lượt đi từ đầu đến cuối dãy để so sánh và đổi chỗ thì thuật toán kết thúc? Tổng số có bao nhiêu lần đổi chỗ hai phần tử liền kề?

Trả lời:

verified Giải bởi Vietjack

Ta có dãy số: 5, 2, 4, 1, 3. Sắp xếp giảm dần.

Bước 1. So sánh số 5 và 2. Ta thấy số 5 lớn hơn 2. Nên ta giữ nguyên kết quả. Dãy số sau khi đổi: 5, 2, 4, 1, 3.

Bước 2. So sánh số 2 và 4. Ta thấy số 4 lớn hơn 2 và ta tiến hành đổi chỗ số 4 và 2. Dãy số sau khi đổi: 5, 4, 2, 1, 3.

Bước 3. So sánh số 2 và 1. Ta thấy số 2 lớn hơn 1, ta giữ nguyên dãy số: 5, 4, 2, 1, 3.

Bước 4. So sánh số 1 và 3, ta thấy số 3 lớn hơn số 1, ta tiến hành đổi chỗ số 3 và số 1. Dãy số sau khi đổi: 5, 4, 2, 3, 1.

Bước 5. Tiến hành duyệt dãy số một lần nữa để chắc chắn dãy số đã được sắp xếp giảm dần. So sánh số 5 và 4, số 5 lớn hơn 4 giữ nguyên, dãy thu được: 5, 4, 2, 3, 1.

Bước 6. So sánh số 4 và 2, số 4 lớn hơn 2 giữ nguyên.

Bước 7. So sánh số 2 và 3, số 3 lớn hơn số 2, ta tiến hành đổi vị trí số 2 và 3. Dãy số thu được: 5, 4, 3, 2, 1.

Bước 8. So sánh số 2 và 1, số 2 lớn hơn số 1, nên ta giữ nguyên.

Ta sẽ đi tám lượt đi thì thuật toán mới kết thúc.

Tổng số lần đổi vị trí phần tử là 3 lần.

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1:

Theo em, vì sao thuật toán sắp xếp trên lại có tên là sắp xếp nổi bọt?

Xem đáp án » 22/07/2024 249

Câu 2:

Thuật toán sắp xếp nổi bọt kết thúc khi nào?

Xem đáp án » 16/07/2024 200

Câu 3:

Làm thế nào để cho máy tính biết một dãy đã có thứ tự tăng dần?

Xem đáp án » 16/07/2024 123

Câu 4:

1) Trong thuật toán sắp xếp nổi bọt thì dấu hiệu để biết dãy chưa sắp xếp xong là gì?

2) Theo em, có phải Hình 2 đã mô tả chi tiết một lượt robot thực hiện so sánh các cặp phần tử liền kề và đổi chỗ khi chúng trái thứ tự mong muốn không?

Xem đáp án » 16/07/2024 123

Câu 5:

Khi nào thực hiện thuật toán sắp xếp nổi bọt chỉ cần một lượt so sánh các cặp phần tử liền kề và đổi chổ?

Xem đáp án » 16/07/2024 108

Câu 6:

Giả sử có một dãy hộp kẹo, mỗi hộp chứa một số kẹo nào đó. Có một chú robot chỉ biết làm hai thao tác:

- So sánh số kẹo trong hai hộp cạnh nhau.

- Hoán đổi vị trí hai hộp kẹo cạnh nhau.

Theo em, chú robot phải làm thế nào để xếp lại các hộp sao cho số kẹo trong các hộp tăng dần?

Xem đáp án » 16/07/2024 97

Câu 7:

Trong thuật toán sắp xếp nổi bọt, khi nào hai phần từ liền kề được đổi chổ?

Xem đáp án » 16/07/2024 90

Câu hỏi mới nhất

Xem thêm »
Xem thêm »