Cùng DapAnHay tìm hiểu về cách sắp xếp nổi bọt như: khái niệm, thuật toán của cách sắp xếp qua nội dung của Bài 4: Sắp xếp nổi bọt trong chủ đề F của chương trình Tin học 7 Cánh diều. Mời các em cùng tham khảo nội dung bài giảng dưới đây!
- Ví dụ: Cho dãy 5 hộp kẹo với số lượng kẹo trong mỗi hộp khác nhau, tương ứng là:
- Minh họa:
Mô phỏng sắp xếp bằng đổi chỗ các phần tử liền kề
- Giải thích:
+ Ở lượt thứ nhất, so sánh hai hộp đầu tiên, nếu số kẹo ở hộp đứng trước lớn hơn số kẹp ở hộp đứng sau thì đổi vị trí hai hộp này cho nhau. Tiếp tục như vậy cho đến hết dãy là hết một lượt => ta thu được hộp cuối là hộp chứa nhiều kẹo nhất
+ Tiếp tục các lượt thứ hai, thứ ba theo cách trên, cứ lặp lại như vậy cho đến khi gặp một lượt mà suốt cả lượt đó robot không phải đổi chỗ hai hộp nào thì dãy đã được sắp xếp xong.
Trong ví dụ trên, robot thực hiện số lượt di chuyển từ đầu đến cuối dãy để so sánh và đổi chỗ các cặp phần tử liền kề nếu chưa đúng thứ tự.
Ở mỗi lượt, robot thực hiện:
- Xuất phát từ đầu dãy, i = 1, xét cặp (a1, a2), nếu a1 > a2 (trái thứ tự mong muốn) thì đổi chỗ cho nhau; trái lại không cần làm gì.
- Dịch sang phải một vị trí, xét cặp (a2, a3); so sánh và đổi chỗ nếu cần.
- Quá trình tiếp tục, dịch sang phải một vị trí, xét cặp (ai+1, ai+2), so sánh và đổi chỗ nếu cần thiết.
- Khi hết dãy thì xong một lượt xét các cặp số kề nhau để đổi chỗ.
Nếu dãy chưa được sắp xếp đúng thứ tự thì trong dãy sẽ còn cặp phần tử liền kề không đúng thứ tự. Như vậy robot sẽ phải thực hiện cho đến khi không còn cặp liền kề (ai, ai+1) trái mong muốn nữa.
⇒ Kết luận: Thuật toán sắp xếp nổi bọt thực hiện nhiều lượt so sánh và đổi chỗ các cặp phần tử liền kề cho đến khi không còn bất kì cặp phần tử liền kề (ai, ai+1) nào trái thứ tự mong muốn.
Thuật toán sắp xếp nổi bọt thực hiện nhiều lượt so sánh và đổi chỗ các cặp phân tử liền kề cho đến khi không còn bất kì cặp phân tử liền kề (ai, ai+1) nào trái thứ tự mong muốn. |
---|
Bài tập 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 có nghĩa là gì?
Hướng dẫn giải:
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à: Vẫn còn cặp phần tử liền kề không đúng thứ tự mong muốn.
Bài tập 2: Thuật toán sắp xếp nổi bọt kết thúc khi nào?
Hướng dẫn giải:
Thuật toán sắp xếp nổi bọt kết thúc khi các phần tử đã nằm đúng thứ tự mong muốn trong dãy, không còn bất kì cặp liền kề nào trái thứ tự mong muốn, tức là không còn xảy ra đổi chỗ lần nào nữa.
Bài tập 3: Cho dãy 2, 4, 3, 8, 9 để sắp xếp dãy tăng dần theo thuật toán sắp xếp nổi bọt, phần tử 9 có bao nhiêu lần đổi chỗ?
Hướng dẫn giải:
Qua bài học các em có thể:
- Biết được thế nào sắp xếp nổi bọt
- Mô phỏng được hoạt động của thuật toán sắp xếp nổi bọt cho một dãy đầu vào kích thước nhỏ.
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 7 Cánh diều Chủ đề F Bài 4 cực hay có đáp án và lời giải chi tiết.
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ỗ?
Cho dãy 2, 4, 3, 8, 1. Để sắp xếp dãy tăng dần theo thuật toán sắp xếp nổi bọt, phần tử 8 có bao nhiêu lần đổi chỗ?
Cho dãy 2, 4, 3, 8, 9. Để sắp xếp dãy tăng dần theo thuật toán sắp xếp nổi bọt, phần tử 9 có bao nhiêu lần đổi chỗ?
Câu 4-10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 7 Cánh diều Chủ đề F Bài 4để giúp các em nắm vững bài học và các phương pháp giải bài tập.
Khởi động trang 87 SGK Tin học 7 Cánh diều - CD
Hoạt động 1 trang 87 SGK Tin học 7 Cánh diều - CD
Hoạt động 2 trang 89 SGK Tin học 7 Cánh diều - CD
Luyện tập trang 89 SGK Tin học 7 Cánh diều - CD
Vận dụng 1 trang 89 SGK Tin học 7 Cánh diều - CD
Vận dụng 2 trang 89 SGK Tin học 7 Cánh diều - CD
Câu hỏi tự kiểm tra 1 trang 89 SGK Tin học 7 Cánh diều - CD
Câu hỏi tự kiểm tra 2 trang 89 SGK Tin học 7 Cánh diều - CD
Câu hỏi tự kiểm tra 3 trang 89 SGK Tin học 7 Cánh diều - CD
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học DapAnHay sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 7 DapAnHay
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ỗ?
Cho dãy 2, 4, 3, 8, 1. Để sắp xếp dãy tăng dần theo thuật toán sắp xếp nổi bọt, phần tử 8 có bao nhiêu lần đổi chỗ?
Cho dãy 2, 4, 3, 8, 9. Để sắp xếp dãy tăng dần theo thuật toán sắp xếp nổi bọt, phần tử 9 có bao nhiêu lần đổi chỗ?
Để sắp xếp dãy 1, 4, 2, 6 theo thứ tự tăng dần bằng thuật toán nổi bọt thì có bao nhiêu lần đổi chỗ hai phân tử liền kề?
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ì?
Khẳng định nào sau đây là sai về sắp xếp nổi bọt?
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ỗ?
Thuật toán nổi bọt kết thúc khi nào?
Điền vào dấu ... trong phát biểu sau: “Trong thuật toán sắp xếp nổi bọt lặp khi có cặp phần tử trái thứ tự mong muốn thì đi chỗ cho nhau, trái lại thì không cần làm gì. Sau đó .....một vị trí để xét cặp tiếp theo, so sánh và đổi chỗ nếu cần.”
Điền vào chỗ chẩm (......) Thuật toán sắp xếp nổi bọt thực hiện nhiều phép (......) và (......) các cặp phân tử liền kề cho đến khi không còn bất kì cặp phân tử liền kề nào trái (......) mong muốn
Làm thế nào để cho máy tính biết một dãy đã có thứ tự tăng dần?
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?
Với dãy số đã cho ở ví dụ trên, em hãy thực hiện thuật toán được mô tả ở hình bên và cho biết đó có phải là thuật toán sắp xếp nổi bọt hay không?
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ề?
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 bên đã 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?
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?
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ổ?
Thuật toán sắp xếp nổi bọt kết thúc khi nào?
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ổ?
Họ và tên
Tiêu đề câu hỏi
Nội dung câu hỏi
0 Bình luận
Để lại bình luận
Địa chỉ email của hạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *