DSA_3: Sắp xếp chọn | Selection sort.
Giải thuật:
Với selection sort, mảng được sắp xếp là mảng mà mỗi phần tử đều nhỏ hơn tất cả các phần tử bên phải nó.
Vậy thuật toán của nó là:
Duyệt mảng lần lượt từ trái qua phải
So sánh phần tử được duyệt với tất cả các phần tử bên phải nó:
- Nếu nhỏ nhất, . Nếu không, đổi chỗ và phần tử nhỏ nhất đó.
Minh họa:
Code Python:
xxxxxxxxxxdef selectionSort(arr): l = len(arr) for i in range(l): p = i for j in range(i,l): if arr[j]<arr[p]: p = j arr[i], arr[p] = arr[p], arr[i]Độ phức tạp:
- Best:
- Average:
- Worst: