Quảng cáo
1 câu trả lời 395
Thuật toán sắp xếp chọn (Selection Sort) là một trong những thuật toán sắp xếp đơn giản nhất. Ý tưởng của thuật toán này là lặp qua từng phần tử của dãy và chọn ra phần tử nhỏ nhất (hoặc lớn nhất) trong phần tử còn lại của dãy và đổi chỗ với phần tử hiện tại. Dưới đây là cách sử dụng thuật toán sắp xếp chọn để sắp xếp dãy đã cho theo chiều giảm dần:
1. Bắt đầu từ phần tử đầu tiên của dãy, duyệt qua từng phần tử cho đến phần tử thứ hai từ cuối lên đầu.
2. Đối với mỗi phần tử, duyệt qua các phần tử còn lại của dãy để tìm ra phần tử nhỏ nhất trong dãy con chưa được sắp xếp.
3. Hoán đổi phần tử hiện tại với phần tử nhỏ nhất vừa tìm được (nếu phần tử hiện tại không phải là phần tử nhỏ nhất).
4. Tiếp tục quá trình này cho đến khi duyệt qua tất cả các phần tử của dãy.
Dưới đây là mã giả của thuật toán sắp xếp chọn:
```
SelectionSort(arr)
for i from 0 to n-1
minIndex = i
for j from i+1 to n
if arr[j] > arr[minIndex]
minIndex = j
if minIndex ≠ i
swap(arr[i], arr[minIndex])
```
Áp dụng vào dãy số đã cho [7, 8, 9, 5, 3, 1]:
- Ở lần lặp thứ nhất:
- Phần tử nhỏ nhất là 9, hoán đổi với phần tử đầu tiên (7).
- Ở lần lặp thứ hai:
- Phần tử nhỏ nhất là 8, hoán đổi với phần tử thứ hai (8).
- Ở lần lặp thứ ba:
- Phần tử nhỏ nhất là 7, không cần hoán đổi vì nó đã ở đúng vị trí.
- Và tiếp tục quá trình này cho đến khi duyệt qua tất cả các phần tử.
Dãy số sau khi sắp xếp giảm dần sẽ là: [9, 8, 7, 5, 3, 1].
Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Đã trả lời bởi chuyên gia
61705 -
Đã trả lời bởi chuyên gia
33128 -
Hỏi từ APP VIETJACK
Đã trả lời bởi chuyên gia
25367 -
Đã trả lời bởi chuyên gia
23890
