Giải SBT Tin học 11 KNTT Bài 21. Các thuật toán sắp xếp đơn giản
Giải SBT Tin học 11 KNTT Bài 21. Các thuật toán sắp xếp đơn giản
-
104 lượt thi
-
10 câu hỏi
-
0 phút
Danh sách câu hỏi
Câu 1:
19/07/20241 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 có đúng không?
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 3:
22/07/2024Vớ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?
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:
20/07/2024Vớ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?
Khi dãy ban đầu đã được sắp xếp theo chiều ngược lại.
Câu 5:
19/07/2024Quan 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[e], 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,
Có thể được. Chẳng hạn hàm đó là chen() có thể như sau:
Câu 6:
19/07/2024Ý 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:
1 def SelectionSort(A):
2 for i in range(n-1):
3 Chọn phần tử nhỏ nhất trong dây A[i], A[i+1],
A[n-1]
4 Đồi chỗ phần từ này với A[i]
Nếu thay dòng 3 bằng A + 1] A + 2]. ... An – 1] thì thuật toán còn đúng không?
Nếu thay dòng 3 bằng A + 1] A + 2]. ... An – 1] thì thuật toán sẽ sai.
Câu 7:
19/07/2024Viế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.
Sau đây là một cách thiết lập thuật toán chọn sử dụng hàm min().
Câu 8:
17/07/2024Trong 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?
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 10:
13/07/2024Cho 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].
Với mỗi phần tử của B được chèn vào đúng vị trí trong dãy A