Bài 16. Thuật toán sắp xếp trang 55, 56 SBT Tin học 7 Kết nối tri thức với cuộc sống

Em hãy sắp xếp các bước sau đây theo đúng thứ tự để hoàn thành công việc hoán đổi chất lỏng đựng trong hai cốc A và B (sử dụng cốc C không đựng gì là cốc trung gian). Hoán đổi vị trí hai phần tử liên tiếp khi chúng không đúng thứ tự là cách sắp xếp của thuật toán nào? Tìm phần tử nhỏ nhất trong dãy và đổi chỗ phần tử này với phần tử đầu tiên của dãy chưa được sắp xếp là ý tưởng của thuật toán nào?

Quảng cáo
Lựa chọn câu để xem lời giải nhanh hơn

16.1

Em hãy sắp xếp các bước sau đây theo đúng thứ tự để hoàn thành công việc hoán đổi chất lỏng đựng trong hai cốc A và B (sử dụng cốc C không đựng gì là cốc trung gian).

a) Đỗ chất lỏng từ cốc B sang cốc A.

b) Đỏ chất lòng từ cốc C sang cốc B.

c) Đổ chất lỏng trong cốc A sang cốc C.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

c →  a →  b.

16.2

Hoán đổi vị trí hai phần tử liên tiếp khi chúng không đúng thứ tự là cách sắp xếp của thuật toán nào?

A. Nổi bọt.

B. Chọn.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Đáp án: A.

16.3

Tìm phần tử nhỏ nhất trong dãy và đổi chỗ phần tử này với phần tử đầu tiên của dãy chưa được sắp xếp là ý tưởng của thuật toán nào?

A. Nổi bọt.

B. Chọn.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Đáp án: B.

16.4

Dùng thuật toán sắp xếp nổi bọt để sắp xếp một dãy số tăng dần. Mỗi vòng lặp sẽ duyệt các phần tử từ cuối danh sách đến đầu danh sách. Kết thúc vòng lặp thứ nhất, phần tử đầu tiên sẽ có giá trị:

A. Nhỏ nhất trong dãy số.

B. Lớn nhất trong dãy số.

C. Không thay đổi.

D. Bằng giá trị của phần tử liền trước.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết

Lời giải chi tiết:

Đáp án: A.

16.5

Sau vòng lặp thứ nhất của thuật toán sắp xếp chọn, phương án nào đúng?

A. Phần tử có giá trị nhỏ nhất trong dãy được tìm thấy và đổi chỗ cho phần tử đứng đầu dãy.

B. Phần tử có giá trị lớn nhất trong dãy được tìm thấy và đổi chỗ cho phần tử đứng đầu dãy.

C. Các phần tử liền kề được hoán đổi.

D. Phần tử có giá trị nhỏ nhất sẽ đổi vị trí cho phần tử cuối dãy.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Đáp án: A.

16.6

Các nhiệm vụ để thực hiện việc sắp xếp gồm:

A. So sánh.

B. Đổi chỗ.

C. So sánh và đổi chỗ.

D. Đổi chỗ và xoá.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Đáp án: C.

16.7

Cho một dãy các quân bài như sau:

Bạn An sắp xếp các quân bài bằng cách tráo đổi vị trí theo các vòng lặp như trong các hình sau:

a) Em hãy cho biết bạn An dùng thuật toán nào để sắp xếp ?

b) Em hãy mô phỏng lại thuật toán trên với các quân bài trong Hình 16.5.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

a)      An sắp xếp theo thuật toán sắp xếp nổi bọt.

b)      Mô phỏng lại thuật toán sắp xếp nổi bọt với các quân bài:

Vòng lặp thứ nhất: So sánh quân 6 và quân 9, vì 9 > 6 không đúng thử tự nên quân 6 đổi chỗ cho quân 9. So sánh quân 6 với quân 10, vì 10 > 6 không đúng thứ tự nên quân 6 đổi chỗ cho quân 10. So sánh tiếp quân 6 với quân 4, vì 4

Vòng lặp thứ hai: So sách quân 9 với quân 10, vì 10 > 9 không đúng tử tự nên quân 9 đổi chỗ cho quân 10. So sánh quân 9 với quân 6, vì 6 < 9 đúng thứ tự nên giữ nguyên vị trí. Kết thúc vòng lặp thứ tự các quân bài như sau: Quân 4, quân 6, quân 9, quân 10.

Vòng lặp thứ ba: So sánh quân 10 với quân 9, vì 9 < 10 đúng thứ tự nên giữ nguyên vị trí. Vậy dãy đã được sắp xếp.

16.8

Nếu sử dụng thuật toán sắp xếp chọn để sắp xếp dãy số 8, 22, 7, 19, 5 theo thứ tự tăng dần thì số lần thực hiện thao tác hoán đổi giá trị trong vòng lặp thứ nhất là:

A. 2.

B. 3.

C. 4.

D. 5.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Đáp án: A.

16.9

Cho dãy số sau: 15, 20, 10, 18.

Bạn Minh sử dụng thuật toán sắp xếp nổi bọt để sắp xếp dãy số tăng dần. Mỗi vòng lặp sẽ duyệt từ phần tử cuối đến phần tử đầu tiên. Em hãy chọn phương án mô tả đúng dãy số sắp xếp sau mỗi vòng lặp.

A. 15, 20, 10, 1810, 15, 18, 20 → 10, 15, 18, 20

B. 15, 20, 10, 18 → 10, 20, 15, 18 →→ 10, 15, 20, 18

C. 15, 20, 10, 18→ 15, 10, 20, 1810, 15, 18, 20.

D. 15, 20, 10, 18→ 10, 15, 20, 18 → 10, 15, 18, 20.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Đáp án: D.

16.10

Em hãy dùng thuật toán sắp xếp nổi bọt sắp xếp dãy số dưới đây theo thứ tự tăng dần, mỗi vòng lặp duyệt từ phần tử cuối về đầu: 83, 5, 8, 12, 65, 72, 71.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Mô phỏng các bước sắp xếp dãy số 83, 5, 8, 12, 65, 72, 71 theo thuật toán nổi bọt:

83, 5, 8, 12, 65, 72, 715, 83, 8, 12, 65, 71 72. G

5, 83, 8, 12, 65, 71, 725, 8, 83, 12, 65, 71, 72.

5, 8, 83, 12, 65, 71, 725, 8, 12, 83, 65, 71, 72.

5, 8, 12, 83, 65, 71, 725, 8, 12, 65, 83, 71, 72.

5, 8, 12, 65, 83, 71, 72 → 5, 8, 12, 65, 71, 83, 72.

5, 8, 12, 65, 71, 83, 72 → 5, 8, 12, 65, 71, 72, 83.

Sau 6 vòng lặp thì dãy số mới được sắp xếp đúng theo yêu cầu.

16.11

Em hãy quan sát Hình 16.6 và cho biết đó là cách sắp xếp theo thuật toán nào?

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Thuật toán sắp xếp chọn.

16.2

An và Khoa chơi trò chơi sắp xếp các que tính từ ngắn đến dài. Mỗi bạn có một cách sắp xếp khác nhau:

An: Tớ chọn que ngắn nhất rồi đổi vị trí với que ở vị trí đầu tiên. Tiếp tục chọn các que ngắn nhất trong các que chưa được xếp và sắp xếp chúng lần lượt vào các vị trí thứ hai, thứ ba,...

Khoa: Tớ cầm que cuối cùng, nếu que trước ngắn hơn tớ sẽ chuyển sang cầm que ngắn, ngược lại nếu que trước dài hơn tớ sẽ đổi vị trí hai que tính. Lần lượt làm như vậy đến que tính đầu tiên. Sau lượt đầu, que tính ngắn nhất sẽ được đưa về vị trí đầu tiên. Ở lượt thứ hai, que tính ngắn thứ hai sẽ được đưa đúng vào vị trí, cứ như vậy đến khi các que tính được sắp xếp theo đúng thứ tự.

a) Em hãy cho biết bạn An và Khoa dùng thuật toán gì để sắp xếp ?

b) Em hãy thực hiện theo cách của An và Khoa để sắp xếp các que tính trong Hình 16.7 theo thứ tự từ ngắn đến dài. Theo em, cách sắp xếp của bạn nào nhanh hơn?

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

a) An dùng thuật toán sắp xếp chọn, Khoa dùng thuật toán sắp xếp nổi bọt.

b) Theo cách của bạn An:

Vậy cách sắp xếp của An nhanh hơn cách sắp xếp của Khoa.

16.13

Em hãy sử dụng thuật toán sắp xếp chọn để sắp xếp bốn thành viên trong gia đình bạn Hải (bao gồm: bố, mẹ, Hải và em gái) (Hình 16.8) theo thứ tự tăng dẫn của chiều cao.

Phương pháp giải:

Dựa vào kiến thức đã học và sự hiểu biết.

Lời giải chi tiết:

Vòng lặp thứ nhất: Em gái là người thấp nhất nên đổi chỗ em gái với bố. Thứ tự mới bây giờ là em gái, bố, mẹ, Hải.

Vòng lặp thứ hai: Hải là người thấp nhất trong dãy còn lại nên Hải đổi chỗ với bố. Thứ tự mới bây giờ là em gái, Hải, mẹ, bố.

Vòng lặp thứ ba: Mẹ ở đúng vị trí nên thứ tự sắp xếp đã đúng.

16.14

Em hãy quan sát dãy gồm các số 10, 7, 3, 13, 2, 8, 5 được thay đổi vị trí theo từng bước như trong Hình 16.9.

a) Em hãy cho biết dãy số đã được sắp xếp theo thuật toán nào?

b) Em hãy sắp xếp dãy số ban đầu theo một thuật toán khác mà em đã được học. So sánh xem cách sắp xếp của thuật toán nào nhanh hơn?

Phương pháp giải:

a)      Dựa vào thuật toán sắp xếp chọn

b)      Dựa bào thuật toán nổi bọt

Lời giải chi tiết:

a)      Dãy số đã được sắp xếp theo thuật toán sắp xếp chọn.

b)      Mô phỏng lại thuật toán sắp xếp nổi bọt với các quân bài:

Vậy sắp xếp theo thuật toán nổi bọt sẽ cần 5 vòng lặp, trong khi đó sắp xếp theo thuật toán chọn sẽ cần 8 vòng lặp. Vậy thuật toán nổi bọt trong trường hợp này nhanh hơn.

16.15

Điểm môn Tin học của học sinh tổ một lớp 7A được ghi trong bảng sau:

Em hãy sắp xếp lại danh sách theo thứ tự tăng dần của điểm bằng cách dùng thuật toán sắp xếp nổi bọt và sắp xếp chọn.

Phương pháp giải:

-          Dựa vào kiến thức đã học và sự hiểu biết

-          Sử dụng thuật toán sắp xếp nổi bọt và sắp xếp chọn

Lời giải chi tiết:

Kết quả các vòng lặp thực hiện sắp xếp nổi bọt để sắp xếp điểm theo thứ tự tăng dần:

Kết quả các vòng lặp thực hiện sắp xếp chọn để sắp xếp điểm theo thứ tự tăng dần:

Danh sách sẽ được sắp xếp lại như bảng sau:

Quảng cáo
close