Câu hỏi:

13/07/2024 634

Ý 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?

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

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

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Lời giả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.

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP