Giải sách bài tập Tin học 11 Khoa học máy tính Kết nối chủ đề 6 Bài 21: Các thuật toán sắp xếp đơn giản

Hướng dẫn giải Bài 21: Các thuật toán sắp xếp đơn giản SBT Tin học 11 Khoa học máy tính Kết nối. Đây là sách bài tập nằm trong bộ sách "kết nối tri thức" được biên soạn theo chương trình đổi mới của Bộ giáo dục. Hi vọng, với cách hướng dẫn cụ thể và giải chi tiết học sinh sẽ nắm bài học tốt hơn.

21.1. Thuật toán sắp xếp chèn có ý tưởng ban đầu như sau:

1 Cho chỉ số i chạy từ phần tử thứ hai đến cuối dãy

2 Chèn phần tử A[i] vào vị trí đúng của dãy đã sắp xếp A[0], A[1], ..., A[i-1]

Nếu công việc chèn tại dòng 2 ở trên được thực hiện như sau:

 Hướng dẫn trả lời:

Thuật toán được mô tả theo cách trên có đúng không?

Hướng dẫn trả lời:

Thuật toán được mô tả theo cách trên là đúng.

21.2. Viết lại thuật toán chèn theo cách đã mô tả trong câu trên khác cách mô tả trong sách giáo khoa.

Hướng dẫn trả lời:

 Hướng dẫn trả lời:

21.3. Với thuật toán sắp xếp chèn, khi nào thuật toán thực hiện ít phép so sánh nhất? 

Hướng dẫn trả lời:

Khi dãy ban đầu đã sắp xếp đúng

21.4. Với thuật toán sắp xếp chèn, khi nào thuật toán thực hiện nhiều phép so sánh nhất?

Hướng dẫn trả lời:

Khi dãy ban đầu đã được sắp xếp theo chiều ngược lại.

21.5. Quan sát lại ý tưởng của thuật toán sắp xếp chèn:

1 Cho chỉ số i chạy từ phần tử thứ hai đến cuối dãy

2 Chèn phần tử A[i] vào vị trí đúng của dãy đã sắp xếp A[0], A[1], ..., A[i-1]

Có thể viết riêng các lệnh của thao tác “chèn” trong dòng 2 ở trên thành một hàm độc lập được không? Nếu được thì viết lại thuật toán này theo cách mới.

Hướng dẫn trả lời:

Có thể viết riêng các lệnh của thao tác “chèn” trong dòng 2 ở trên thành một hàm độc lập.

Ví dụ:

 Hướng dẫn trả lời:

21.6. Ý tưởng của thuật toán sắp xếp chọn đã được mô tả trong sách giáo khoa như sau:

 Hướng dẫn trả lời:

Nếu thay dòng 3 bằng A[i+1], A[i+2],..., A[n-1] thì thuật toán còn đúng không?

Hướng dẫn trả lời:

Không, thuật toán sẽ sai.

21.7. Viết lại chương trình mô tả thuật toán sắp xếp chọn đã mô tả trong Câu 21.6, sử dụng hàm min() của Python.

Hướng dẫn trả lời:

 Hướng dẫn trả lời:

21.8. Trong trường hợp nào thuật toán sắp xếp chọn theo cách trên sẽ không cần thực hiện lệnh đổi chỗ hai phần tử tại dòng 8 của mô tả thuật toán trong sách giáo khoa?

Hướng dẫn trả lời:

Khi dãy ban đầu đã được sắp xếp đúng.

21.9. Ý tưởng của thuật toán sắp xếp nổi bọt được mô tả bao gồm hai vòng lặp, vòng lặp bên trong sẽ duyệt từng phần tử từ bên phải sang và đổi chỗ hai phần tử cạnh nhau nếu chúng sắp xếp không đúng. Sau mỗi vòng lặp bên trong thì phần tử nhỏ nhất sẽ được đưa lên vị trí đúng ở phía đầu dãy

Ý tưởng này được mô tả bằng đoạn mã giả sau:

 Hướng dẫn trả lời:

Em hãy viết chương trình mô tả đoạn mã giả trên.

Hướng dẫn trả lời:

 Hướng dẫn trả lời:

21.10.* Cho trước hai dãy số A, B, trong đó dãy A đã được sắp xếp đúng. Viết chương trình mô tả hàm insert(A, B) đưa tất cả các phần tử của B vào A mà vẫn phải giữ đúng thứ tự sắp xếp đúng của A.

Ví dụ: A = [1, 4], B = [5, 2, 3] thì sau khi thực hiện hàm insert(A, B), được dãy A= [1, 2, 3, 4, 5].

 Hướng dẫn trả lời:

Tìm kiếm google: Giải sách bài tập Tin học 11 Khoa học máy tính Kết nối , Giải SBT Tin học 11 Khoa học máy tính Kết nối , Giải sách bài tập Tin học 11 Khoa học máy tính Kết nối bài 21: Các thuật toán sắp xếp đơn giản

Xem thêm các môn học

Giải SBT tin học 11 định hướng Khoa học máy tính kết nối tri thức


Copyright @2024 - Designed by baivan.net