Tôi đã đọc phần Giới thiệu về thuật toán của Cormen và cộng sự, và đã triển khai một số thuật toán.Đầu vào mẫu cho các thuật toán khác nhau
Để kiểm tra việc triển khai, tôi đã viết một số mã keo để thực hiện tệp io, sau đó thực hiện một số đầu vào mẫu bằng tay và một số đầu vào mẫu khác bằng cách viết chương trình tạo đầu vào mẫu.
Tuy nhiên tôi nghi ngờ về chất lượng của các đầu vào mẫu của riêng tôi - các trường hợp góc; Tôi có thể đã bỏ lỡ những khả năng thú vị hơn; Tôi có thể đã tính sai kết quả đầu ra thích hợp; v.v.
Có một bộ đầu vào và đầu ra thử nghiệm cho các thuật toán khác nhau được thu thập ở đâu đó trên Internet để tôi có thể kiểm tra mã của mình không? Tôi đang tìm kiếm dữ liệu thử nghiệm một cách hợp lý cụ thể cho các thuật toán cụ thể, thay vì các vấn đề về cuộc thi thường liên quan đến một thành phần giải quyết vấn đề.
Tôi hiểu rằng tôi có thể phải điều chỉnh mã tùy theo định dạng mà đầu vào được thu thập (ví dụ: Các ràng buộc khác nhau của các yếu tố đầu vào; đối với thuật toán đồ thị, biểu diễn đồ thị; v.v.) rằng sự thay đổi tôi sẽ phải thực hiện sẽ là tầm thường hợp lý.
Edit:
Một số tập hợp dữ liệu đặc biệt Tôi hiện đang tìm kiếm là:
- Danh sách các số
- động xiên để loại nhanh thực hiện nặng.
- Skewed để Fibonacci Heap thực hiện đặc biệt tốt hoặc kém cho các hoạt động cụ thể.
- đồ thị (mà High Performance Đánh dấu đã cung cấp một số tài liệu tham khảo thú vị) đồ thị
- thưa thớt (với giới hạn cụ thể về số cạnh),
- đồ thị dày đặc,
Vì, tôi vẫn đang làm việc qua cuốn sách, nếu bạn đang ở trong tình huống tương tự như tôi, hoặc bạn chỉ cảm thấy danh sách có thể được cải thiện, vui lòng chỉnh sửa danh sách - một thời gian sớm, tôi có thể cần dữ liệu thiết lập tương tự như những gì bạn đang tìm kiếm. Tôi không hoàn toàn chắc chắn cách các đặc quyền chỉnh sửa hoạt động, nhưng nếu tôi có bất kỳ lời nói nào về nó, tôi sẽ cố gắng chấp thuận nó.
bạn đang sử dụng ngôn ngữ nào? một số ngôn ngữ có thư viện có thể tự động tạo dữ liệu thử nghiệm. ví dụ: kiểm tra nhanh haskell. nhiều hơn được liệt kê tại http://news.ycombinator.com/item?id=3020132 –
@andrewcooke Tôi đang sử dụng Python. QuickCheck và các thư viện như vậy nghe có vẻ thú vị - tôi chắc chắn sẽ xem xét nó. – math4tots
Một công cụ kiểm tra thú vị khác là Korat (chi tiết tại http://www.stanford.edu/class/cs295/papers/issta02.pdf), mà thực sự kiểm tra mã của bạn để xây dựng các trường hợp thử nghiệm đầy đủ cho nó trên đầu vào nhỏ. Một lần nữa, không phải là một bộ sưu tập các bài kiểm tra hoặc bằng Python, nhưng vẫn là một công cụ tuyệt vời để biết. – templatetypedef