Computer >> Máy Tính >  >> Lập trình >> Lập trình

So sánh các phương pháp sắp xếp trong cấu trúc dữ liệu

Ở đây chúng ta sẽ thấy một số phương pháp sắp xếp. Có hơn 200 kỹ thuật sắp xếp. Chúng tôi sẽ thấy một vài trong số họ. Một số kỹ thuật sắp xếp là sắp xếp dựa trên so sánh, một số là kỹ thuật sắp xếp không dựa trên so sánh.

Các kỹ thuật Soring dựa trên so sánh là sắp xếp bong bóng, sắp xếp lựa chọn, sắp xếp chèn, Sắp xếp hợp nhất, sắp xếp nhanh, sắp xếp theo nhóm, v.v. Các kỹ thuật này được coi là sắp xếp dựa trên so sánh vì trong các kỹ thuật này, các giá trị được so sánh và được đặt vào vị trí được sắp xếp trong các giai đoạn khác nhau. Ở đây chúng ta sẽ thấy độ phức tạp về thời gian của các kỹ thuật này.

Loại phân tích Sắp xếp bong bóng Sắp xếp lựa chọn Sắp xếp chèn Hợp nhất Sắp xếp Sắp xếp nhanh Sắp xếp đống
Trường hợp tốt nhất O (n 2 ) O (n 2 ) O (n) O (log n) O (log n) O (logn)
Trường hợp Trung bình O (n 2 ) O (n 2 ) O (n 2 ) O (log n) O (log n) O (log n)
Trường hợp tồi tệ nhất O (n 2) O (n 2 ) O (n 2 ) O (log n) O (n 2 ) O (log n)

một số thuật toán sắp xếp là thuật toán không dựa trên so sánh. Một số trong số đó là sắp xếp theo Radix, sắp xếp theo nhóm, sắp xếp đếm. Đây là cách sắp xếp không dựa trên so sánh vì ở đây hai phần tử không được so sánh trong khi sắp xếp. Các kỹ thuật hơi khác nhau. Bây giờ chúng ta sẽ thấy sự khác biệt giữa chúng dựa trên các loại phân tích khác nhau.

Loại phân tích Sắp xếp theo Radix (k là chữ số tối đa) Sắp xếp đếm (k là kích thước của mảng đếm) Sắp xếp nhóm (k là số lượng nhóm)
Trường hợp tốt nhất O (nk) O (n + k) O (n + k)
Trường hợp Trung bình O (nk) O (n + k) O (n + k)
Trường hợp tồi tệ nhất O (nk) O (n + k) O (n 2 )

Các kỹ thuật sắp xếp cũng có thể được so sánh bằng cách sử dụng một số tham số khác. Một số thuật toán sắp xếp là thuật toán sắp xếp tại chỗ và một số là thuật toán sắp xếp không đúng vị trí. Những thuật toán không yêu cầu thêm không gian được gọi là thuật toán sắp xếp tại chỗ. Chẳng hạn như quicksort, các thuật toán heapsort được đưa ra. Nhưng sắp xếp hợp nhất là kỹ thuật sắp xếp không đúng chỗ.

Một số thuật toán trực tuyến và một số thuật toán ngoại tuyến. Nếu thuật toán chấp nhận phần tử mới trong khi quá trình sắp xếp đang diễn ra, thì đó được gọi là thuật toán sắp xếp trực tuyến. Từ các kỹ thuật đã đề cập ở trên, sắp xếp chèn là kỹ thuật sắp xếp trực tuyến.