Sắp xếp chọn

Sắp xếp chọn
Mô phỏng sắp xếp chọn
Phân loạiThuật toán sắp xếp
Cấu trúc dữ liệuNgẫu nhiên
Hiệu suất trường hợp tệ nhấtTrung bình O ( n 2 ) {\displaystyle O(n^{2})}
Độ phức tạp không gian trường hợp tệ nhấtKhông tốn thêm vùng nhớ
Tối ưuThỉnh thoảng

Sắp xếp chọn là một thuật toán sắp xếp đơn giản, dựa trên việc so sánh tại chỗ.

Chọn phần tử nhỏ nhất trong n phần tử ban đầu, đưa phần tử này về vị trí đúng là đầu tiên của dãy hiện hành. Sau đó không quan tâm đến nó nữa, xem dãy hiện hành chỉ còn n-1 phần tử của dãy ban đầu, bắt đầu từ vị trí thứ 2. Lặp lại quá trình trên cho dãy hiện hành đến khi dãy hiện hành chỉ còn một phần tử. Dãy ban đầu có n phần tử, vậy tóm tắt ý tưởng thuật toán là thực hiện n-1 lượt việc đưa phần tử nhỏ nhất trong dãy hiện hành về vị trí đúng ở đầu dãy.

Các bước thực hiện

  • Bước 1: i=1.
  • Bước 2: Tìm phần tử a[min] nhỏ nhất trong dãy hiện hành từ a[i] đến a[n].
  • Bước 3: Hoán vị a[min] và a[i]
  • Bước 4: Nếu i<=n-1 thì i=i+1; Lặp lại bước 2.
  • Ngược lại: Dừng. n-1 phần tử đã nằm ở đúng vị trí.

Đánh giá

  • Thuật toán ít phải đổi chỗ các phần tử nhất trong số các thuật toán sắp xếp(n lần hoán vị) nhưng có độ phức tạp so sánh là O(n2) (n2/2 phép so sánh).
  • Thuật toán tốn thời gian gần như bằng nhau đối với mảng đã được sắp xếp cũng như mảng chưa được sắp xếp.

Xem thêm

Tham khảo

  • x
  • t
  • s
Lý thuyết
Sắp xếp đổi chỗ
Sắp xếp nổi bọt | Sắp xếp cốc tai | Sắp xếp chẵn lẻ | Sắp xếp răng lược | Sắp xếp gnome | Sắp xếp nhanh
Sắp xếp chọn
Sắp xếp chọn | Sắp xếp vun đống
Sắp xếp chèn
Sắp xếp chèn | Sắp xếp Shell | Sắp xếp bằng cây | Sắp xếp thư viện | Patience sorting
Sắp xếp trộn
Sắp xếp trộn | Strand sort
Sắp xếp không so sánh
Sắp xếp theo cơ số | Sắp xếp thùng | Sắp xếp đếm | Sắp xếp chuồng bồ câu | Burstsort | Bead sort
Các loại khác
Sắp xếp topo | Mạng sắp xếp | Bitonic sorter | Pancake sorting | Bogosort | Stooge sort
Bài viết này vẫn còn sơ khai. Bạn có thể giúp Wikipedia mở rộng nội dung để bài được hoàn chỉnh hơn.
  • x
  • t
  • s