Sách nghiêm ngặt về thuật toán


7

Tôi hoàn toàn thích lớp thuật toán của mình nhưng tôi cảm thấy nó thiếu sự nghiêm ngặt. Hầu hết thời gian tôi có thể hiểu được bằng trực giác tại sao các thuật toán được trình bày hoạt động và tại sao chúng có độ phức tạp về thời gian được trình bày nhưng tôi muốn có thể chứng minh những điều đó. Như vậy, tôi muốn một cuốn sách vượt qua nhiều thuật toán phổ biến và tập trung vào việc chứng minh tính chính xác và độ phức tạp thời gian của các thuật toán. Bất kỳ khuyến nghị tốt?


3
Sách của Knuth thường có phân tích, vì vậy hãy nhìn vào nghệ thuật lập trình máy tính.
Pavel

2
Chào mừng đến với CS.SE! Câu hỏi này khá rộng: có rất nhiều sách giáo khoa thuật toán tập trung đáng kể vào bằng chứng về tính chính xác và độ phức tạp thời gian. Những nghiên cứu bạn đã thực hiện? Những lựa chọn nào bạn đã xem xét, và tại sao bạn từ chối chúng? (Xem cs.stackexchange.com/help/how-to-ask. ) Ngoài ra, trang web này không hoạt động tốt cho các đề xuất, vì chúng vốn đã chủ quan; xem trung tâm trợ giúp của chúng tôi . Bạn có thể nghĩ ra bất kỳ cách nào để chỉnh sửa câu hỏi để giải quyết những mối quan tâm này không?
DW

4
Tôi không chắc cuốn sách nào bạn đã sử dụng trong lớp, nhưng Giới thiệu về thuật toán của Cormen et al. được coi là sách giáo khoa phổ biến nhất cho các khóa học đại học và sau đại học về thuật toán. Nó bao gồm một lượng lớn tài liệu, với một lượng lớn tài liệu tham khảo được cung cấp. Tôi không nghĩ rằng bạn sẽ tìm thấy một cuốn sách tốt hơn về thuật toán so với cuốn sách này, trừ khi bạn đang tìm kiếm một chủ đề rất cụ thể.
dùng340082710

2
Tôi cũng đã tìm thấy bài đăng này có các đề xuất khác: cs.stackexchange.com/questions/2495/iêu
user340082710

2
Chúng tôi không có chính sách nghiêm ngặt cho các câu hỏi trong danh sách, nhưng có một sự không thích chung . Cũng xin lưu ý điều này và cuộc thảo luận này ; bạn có thể muốn cải thiện câu hỏi của mình để tránh những vấn đề được giải thích ở đó. Nếu bạn không chắc chắn cách cải thiện câu hỏi của mình, có lẽ chúng tôi có thể giúp bạn trong Trò chuyện Khoa học Máy tính ?
Raphael

Câu trả lời:


5

Lưu ý: vui lòng chỉnh sửa câu trả lời này và thêm vào câu trả lời, không tạo câu trả lời mới

Sách nghiêm ngặt:

Nghệ thuật lập trình máy tính của Knuth

Một kỷ luật lập trình của Dijkstra

Giới thiệu về thuật toán của Cormen, Leiserson, Rivest và Stein

Thuật toán của Sedgewick và Wayne

Sách cần thiết của Tiến sĩ Dobb về Thuật toán và Cấu trúc dữ liệu
Điều này cũng bao gồmintroduction to algorithms

Thuật toán + Cấu trúc dữ liệu = Chương trình theo Wirth và theo dõi của nó:
Thuật toán và cấu trúc dữ liệu

Khoa học lập trình của Gries và
phương pháp tiếp cận logic đối với toán học rời rạc của cùng một tác giả

Các thuật toán trên Chuỗi, Cây và Chuỗi của Gusfield

Toán học cụ thể: Một nền tảng cho khoa học máy tính của Graham, Knuth và Patashnik

Lý thuyết phân tích cú pháp, dịch thuật và biên dịch (phần I và II) của Aho và Ullman

Thiết kế và phân tích thuật toán máy tính của Aho, Hopcroft và Ullman

Giới thiệu về Lý thuyết, ngôn ngữ và tính toán của Automata bởi Hopcroft và Ullman

Rõ ràng danh sách có thể được mở rộng khá nhiều.
Lưu ý rằng khi lĩnh vực khoa học máy tính đã mở rộng, sách không thể theo kịp và do đó bạn sẽ phải chuyển sang nghiên cứu.


Ít nhất là phiên bản Giới thiệu về thuật toán của tôi bởi Cormen, Leiserson, Rivest và Stein không nghiêm ngặt khi định nghĩa các ký hiệu tiệm cận, math.stackexchange.com/questions/2536528/. Nó cố gắng xác địnhΘ ký hiệu là một tập hợp nhưng sau đó một số cách kỳ lạ thêm một tập hợp cộng với một đa thức như ex=1+x+θ(x2)
dùng2219896
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.