Mô tả các bước thuật toán sắp xếp nổi bọt của dãy A = [4, 3, 1, 2]
Vận dụng kiến thức mục 3 trang 102, 103 SGK và kiến thức thực tế của bản thân để trả lời câu hỏi.
Vòng lặp 1 |
|||||
Chỉ số của dãy |
0 |
1 |
2 |
3 |
|
Trước vòng lặp |
4 |
3 |
2 |
1 |
|
Bước lặp 1, j=0 |
4 |
3 |
2 |
1 |
So sánh phần tử thứ nhất và phần tử thứ 2 |
Bước lặp ,2 j=1 |
3 |
4 |
2 |
1 |
So sánh phần tử thứ 2 và phần tử thứ 3 |
Bước lặp 3, j=2 |
3 |
2 |
4 |
1 |
So sánh phần tử thứ 3 và phần tử thứ 4 |
Kết thúc vòng 1 |
3 |
2 |
1 |
4 |
|
Vòng lặp 2 |
|||||
Chỉ số của dãy |
0 |
1 |
2 |
3 |
|
Trước vòng lặp |
3 |
2 |
1 |
4 |
|
Bước lặp 1, j=0 |
3 |
2 |
1 |
4 |
So sánh phần tử thứ nhất và phần tử thứ 2 |
Bước lặp ,2 j=1 |
2 |
3 |
1 |
4 |
So sánh phần tử thứ 2 và phần tử thứ 3 |
Bước lặp 3, j=2 |
2 |
1 |
3 |
4 |
So sánh phần tử thứ 3 và phần tử thứ 4 |
Kết thúc vòng 2 |
2 |
1 |
3 |
4 |
|
Vòng lặp 3 |
|||||
Chỉ số của dãy |
0 |
1 |
2 |
3 |
|
Trước vòng lặp |
2 |
1 |
3 |
4 |
|
Bước lặp 1, j=0 |
1 |
2 |
3 |
4 |
So sánh phần tử thứ nhất và phần tử thứ 2 |
Bước lặp ,2 j=1 |
1 |
2 |
3 |
4 |
So sánh phần tử thứ 2 và phần tử thứ 3 |
Bước lặp 3, j=2 |
1 |
2 |
3 |
4 |
So sánh phần tử thứ 3 và phần tử thứ 4 |
Kết thúc vòng 3 |
1 |
2 |
3 |
4 |
|
Kết thúc lặp |
1 |
2 |
3 |
4 |
|
Các bài tập cùng chuyên đề
Bài học trước cho em thấy việc tìm kiếm trên một dãy đã sắp xếp nhanh hơn với việc tìm kiếm tuần tự. Vì vậy bài toán tìm kiếm liên quan mật thiết đến bài toán sắp xếp. Bài toán sắp xếp cơ bản có dạng như sau:
Cho dãy A gồm n phần tử:
A[0],A[1],….,A[n-1] (1)
Cần sắp xếp dãy A theo thứ tự tăng dần:
A[0] ≤≤A[1]≤≤ ... ≤≤A[n-1] (2)
Em hãy trình bày ý tưởng của mình để giải bài toán sắp xếp với dãy có bốn phần tử.
Quan sát sơ đồ mô phỏng, trao đổi, thảo luận về ý tưởng chính của thuật toán sắp xếp chèn.
Mô phỏng chi tiết các bước lặp sắp xếp chèn dãy A = [5, 0, 4, 2, 3]
Nếu dãy ban đầu đã được sắp xếp thì thuật toán sắp xếp chèn sẽ thực hiện như thế nào?
Quan sát sơ đồ mô phỏng, trao đổi thảo luận về ý tưởng chính của thuật toán sắp xếp chọn.
Thực hiện mô phỏng sắp xếp theo thuật toán sắp xếp chọn dãy sau: 4, 5, 2, 1, 3.
Theo thuật toán sắp xếp chọn, sau mỗi bước thứ i thì các phần tử A[0]. A[1]..... A[i] đã được sắp xếp đúng. Đúng hay sai?
Cùng trao đổi, thảo luận về các ý tưởng của thuật toán sắp xếp nổi bọt.
Khi nào thì các mũi tên ở tất cả các bước trong sơ đồ mô phỏng thuật toán sắp xếp nổi bọt đều có màu đỏ?
Cho dãy A= [5, 8, 1, 0, 10, 4, 3]. Viết các chương trình sắp xếp dãy A theo thứ tự tăng dần theo các thuật toán sắp xếp chèn, sắp xếp chọn và sắp xếp nổi bọt.
Viết chương trình nhập một dãy số từ bàn phím, các số cách nhau bởi dấu cách, thực hiện sắp xếp dãy đã nhập theo một trong các thuật toán sắp xếp rồi in kết quả ra màn hình.
Viết lại các thuật toán sắp xếp trong bài theo thứ tự giảm dần.
Nêu ý nghĩa thực tế của các thuật toán sắp xếp đã học, chẳng hạn sắp xếp các học Sinh trong lớp theo chiều cao tăng dần.