Câu hỏi 2. Nếu bài toán đặt ra là sắp xếp dãy A theo thứ tự giảm dần thì các bước thiết kế như trên...
Câu hỏi:
Câu hỏi 2. Nếu bài toán đặt ra là sắp xếp dãy A theo thứ tự giảm dần thì các bước thiết kế như trên có cần thay đổi không? Thay đổi như thế nào?
Câu trả lời:
Người trả lời: GV. Đỗ Hồng Ánh
Câu trả lời:Để sắp xếp dãy A theo thứ tự giảm dần thay vì thứ tự tăng dần, chúng ta chỉ cần thay đổi dấu so sánh trong phần điều kiện của vòng lặp while. Cụ thể, đổi dấu '<' thành '>', dấu '<=' thành '>=' như sau:def Insertionsort(A): n = len(A) for i in range(1, n): value = A[i] j = i - 1 while j >= 0 and A[j] < value: # Thay đổi dấu '<' thành '>' A[j + 1] = A[j] j = j - 1 A[j + 1] = valueVới sự thay đổi này, bước sắp xếp sẽ được thực hiện theo thứ tự giảm dần của phần tử trong dãy A.
Câu hỏi liên quan:
- Khởi độngEm đã biết thiết kế một số thuật toán và chương trình: tìm kiếm tuần tự, tìm kiếm nhị phân...
- 1. Phương pháp thiết kế làm mịn dầnCùng trao đổi, thảo luận các bước thiết kế chương trình theo...
- Câu hỏi 1. Trong các bước đã thực hiện của bài toán sắp xếp chèn ở trên, bước nào là đơn giản nhất...
- 2. Thiết kế chương trình bằng phương pháp làm mịn dầnHoạt động 2: Thiết kế chương trình bằng phương...
- Câu hỏi 1. Với Bài toán lớp 1 có thể tách các dòng lệnh từ 4 đến 9 thành một hàm con độc lập được...
- Câu hỏi 2. Trong thiết kế bài toán tìm các cặp phần tử nghịch đảo, các bước sau đã thực hiện những...
- Câu hỏi2. Sử dụng thiết kế của Bài toán lớp 2, tìm tất cả các cặp nghịch đảo của dãy: 3, 2, 1...
- Vận dụngCâu hỏi 1. Sử dụng phương pháp làm mịn dần để giải bài toán sau: Cho trước số tự nhiên...
- Câu hỏi 2: Với thuật toán sắp xếp chèn, chứng minh rằng nếu thay toàn bộ phần Chèn A[i] vào vị trị...
Bình luận (0)