Top Ad unit 728 × 90

Latest news

recent

Sắp xếp Gnome

Đây có lẽ là một trong những thuật toán sắp xếp đơn giản nhất, ngắn gọn nhất. Nó thuộc nhóm các thuật toán có độ phức tạp O(N2), cùng với các thuật toán đã rất quen thuộc như Sắp xếp nổi bọt, sắp xếp chèn... Sự khác biệt có thể đôi khi đáng giá của thuật toán Gnome so với các bạn đồng lứa đó là nó chỉ sử dụng một vòng lặp duy nhất, không có lặp lồng nhau. Điều này giúp Gnome nhìn rỏ ràng hơn, đồng thời trong thực tế nhiều trường hợp, nó sẽ được xữ lý nhanh hơn do dễ dàng áp dụng các kỷ thuật triển khai tối ưu. 
Ý tưởng của Gnome thật đơn giản, bắt đầu đi từ vị trí thứ 2 của dãy giá trị cần sắp xếp tăng dần, so sánh giá trị phần tử ở vị trí hiện tại với phần tử phía trước nó. Nếu nhỏ hơn thì hoán vị rồi lùi lại một vị trí (giới hạn biên là vị trí xuất phát), nếu lớn hơn thì tiến lên một vị trí. Cứ như vậy cho tới khi tiến tới vị trí cuối cùng của dãy giá trị.
Sau đây là mã nguồn C của thuật toán được trích dẫn từ thư viện VnSLib của IEEV:



Binh Nguyen - Bioz
Sắp xếp Gnome Reviewed by Bioz Nguyen on 9:24:00 PM Rating: 5
All Rights Reserved by IEEV © 2009 - 2016
Powered By Blogger, Designed by Sweetheme

Contact Form

Name

Email *

Message *

Powered by Blogger.