2013-02-28 68 views

Trả lời

45

Nếu thuật toán sắp xếp được gọi là "không ổn định", điều này có nghĩa là đối với bất kỳ mục nào xếp hạng giống nhau, thứ tự của các thành viên bị ràng buộc không được đảm bảo giữ nguyên với các loại bộ sưu tập liên tiếp. Đối với một loại 'ổn định', các mục được gắn sẽ luôn luôn kết thúc theo cùng một thứ tự khi được sắp xếp.

Ví dụ về ứng dụng, thuật toán sắp xếp nhanh không ổn định. Điều này sẽ làm việc tốt cho một cái gì đó như sắp xếp hành động theo mức độ ưu tiên (nếu hai hành động có mức độ ưu tiên bằng nhau, bạn sẽ không có khả năng quan tâm đến yếu tố nào của một tie được thực hiện trước).

Thuật toán phân loại ổn định, mặt khác, phù hợp với những thứ như bảng thành tích cho trò chơi trực tuyến. Nếu bạn sử dụng loại không ổn định, sắp xếp theo điểm (ví dụ), thì người dùng xem kết quả được sắp xếp trên trang web có thể gặp các kết quả khác nhau khi làm mới trang và các thao tác như phân trang thông qua kết quả sẽ không hoạt động chính xác.

+4

được chỉnh sửa để bao gồm một số ví dụ về lý do sự khác biệt quan trọng. –

+3

Các loại không sử dụng thường tạo ra các kết quả có thể dự đoán được, tức là chúng sẽ không đưa ra các câu trả lời khác nhau cho cùng một dữ liệu. Do đó, các lần làm mới trang sẽ chỉ hiển thị thứ tự khác nhau cho bằng khi các giá trị khác thay đổi. Nguyên nhân của sự mất ổn định là việc sử dụng cây hoặc một số cấu trúc dữ liệu tương tự khi tổ chức dữ liệu. –

+3

Cần lưu ý rằng việc sử dụng các loại ổn định phổ biến hơn là phân loại theo nhiều khóa. Ví dụ, nếu bạn có một mảng các đối tượng đại diện cho mọi người, và bạn muốn nó được sắp xếp theo độ tuổi của chúng, với các mối quan hệ được chia theo tên (chữ cái), thì bạn có thể sắp xếp theo tên, và theo tuổi, và một loại ổn định sẽ có nó ở trạng thái bạn đang tìm kiếm. –

6

Loại ổn định giữ lại thứ tự các mục giống nhau. Bất kỳ loại nào cũng có thể được thực hiện ổn định bằng cách thêm chỉ mục hàng vào khóa. Các loại không ổn định, như sắp xếp đống và sắp xếp nhanh chẳng hạn, không có thuộc tính này vốn có, nhưng chúng được sử dụng vì chúng có xu hướng nhanh hơn và dễ mã hơn các loại ổn định. Theo như tôi biết không có lý do khác để sử dụng các loại không ổn định.

+0

Đi tới điểm trên mà Azron đã thực hiện (dưới điểm của bạn) và ví dụ mà anh ta đã thực hiện, điều đó có nghĩa là phân loại lưới mà chúng ta làm trong cửa sổ là được thực hiện ở một trong các loại ổn định? Sắp xếp lưới có nghĩa là sắp xếp các tệp trong thư mục theo ngày và loại. –

+1

các loại được thực hiện trong những thứ như trình quản lý tệp và excel ổn định, chúng hoặc sử dụng một loại ổn định hoặc phiên bản ổn định của một trong các loại không ổn định. –

Các vấn đề liên quan