TopStudy

Đáp án và lời giải

Giải SBT Tin học 11 KNTT Bài 21. Các thuật toán sắp xếp đơn giản có đáp án

Về trang đề

Câu 1

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

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:

j = i

while j>e and A[j] < A[j-1]:

đổi chỗ Aljl, Aj-1]

j = j - 1

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

Câu 2

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Hình minh hoạ

Câu 3

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Với thuật toán sắp xếp chèn, khi dãy ban đầu đã sắp xếp đúng thì thuật toán thực hiện ít phép so sánh nhất.

Câu 4

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

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

Câu 5

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Có thể được. Chẳng hạn hàm đó là chen() có thể như sau:

Hình minh hoạ

Câu 6

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Nếu thay dòng 3 bằng A + 1] A + 2]. ... An – 1] thì thuật toán sẽ sai.

Câu 7

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Sau đây là một cách thiết lập thuật toán chọn sử dụng hàm min().

Hình minh hoạ

Câu 8

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Trong trường hợp khi dãy ban đầu đã sắp xếp đúng thì 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.

Câu 9

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Hình minh hoạ

Câu 10

Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý

Với mỗi phần tử của B được chèn vào đúng vị trí trong dãy A

Hình minh hoạ