F15. "Thực hiện một lượt xét các cặp số kề nhau để đổi chỗ" là một bài toán con khi thực hiện sắp xếp nổi bọt. Giả sử dãy cần sắp xếp gồm 10 số. Hãy chọn những câu đúng:
1) Phải giải 10 bài toán con nói trên.
2) Phải giải 9 bài toán con nói trên.
3) Phải giải 1 bài toán con nói trên.
4) Tùy theo dãy đầu vào mà số lần giải bài toán con khác nhau.
Trả lời:
4) Tùy theo dãy đầu vào mà số lần giải bài toán con khác nhau.
F16. Thao tác "đổi chỗ" là một việc phải làm khi thực hiện sắp xếp nổi bọt. Giả sử dãy cần sắp xếp gồm 10 số. Hãy chọn câu đúng:
1) Phải thực hiện 10 lần đổi chỗ.
2) Phải thực hiện 9 lần đổi chỗ.
3) Tùy theo dãy đầu vào mà số lần đổi chỗ khác nhau.
4) Không phải đổi chỗ lần nào nếu dãy cần sắp xếp đã đúng thứ tự mong muốn.
Trả lời:
3) 4)
F17. Trong bài học trang 88 sách giáo khoa có nêu nhận xét "Chú ý rằng sau lượt đổi chỗ thứ nhất, giá trị lớn nhất là 8 đã ở cuối dãy, đúng vị trí cuối cùng của nó". Có thể nêu nhận xét tương tự cho các lượt đổi chỗ thứ hai, thứ ba,...
Trả lời:
Có thể khẳng định điều tương tự cho các lượt đổi chỗ tiếp theo:
- Sau lượt đổi chỗ thứ hai thì giá trị lớn thứ hai đã ở vị trí thứ hai tính từ cuối dãy, đúng vị trí cuối cùng của nó.
- Sau lượt đổi chỗ thứ ba thì giá trị lớn thứ ba đã ở vị trí thứ ba tính từ cuối dãy, đúng vị trí cuối cùng của nó.
...
Điều này cũng giúp khẳng định rằng cần không quá n - 1 lượt đổi chỗ để sắp xếp dãy có n số.
F18. Thuật toán sắp xếp nổi bọt chỉ đổi chỗ hai số liền kề khác nhau nên khá chậm. Nếu biết dãy đầu vào đã có thứ tự giảm dần thì theo em nên đổi chỗ như thế nòa để được dãy có thứ tự tăng dần nhanh hơn?
Trả lời:
Đổi chỗ đối xứng qua điểm giữa dãy: đổi chỗ $a_{1}$ với $a_{n}$; đổi chỗ $a_{2}$ với $a_{n-1}$;... đổi chỗ $a_{i}$ với $a_{n-1+i}$;... cho đến khi gặp nhau ở giữa dãy.