2010-03-31 49 views

Trả lời

27

Tôi đã viết một nhanh, mẫu giống như phiên bản trong C:

http://github.com/swenson/sort

Nó cũng bao gồm một loạt các thuật toán sắp xếp khác. Timsort dường như đánh bại nhanh chóng sắp xếp 5% hoặc hơn.

10

Tôi đã viết một cổng C++ với cùng giao diện như std :: sort(), với một số kiểm tra điểm chuẩn và đơn vị.

https://github.com/gfx/cpp-TimSort

Noe rằng vì việc thực hiện ban đầu là trong OpenJDK và giấy phép là GPL, giấy phép thực hiện của tôi cũng là GPL. Bây giờ nó được phân phối trong giấy phép MIT.

+0

Tôi nhận thấy readme của bạn nói đó là loại "O (n^2)", nhưng trang Timsort Wikipedia cho biết trường hợp xấu nhất của nó là O (nlog n). –

+0

Cảm ơn, đó là lỗi của tôi. đã sửa! –

+1

FWIW giấy phép mã đã được đổi thành MIT vì câu trả lời này đã được đăng. – rotoglup