나는에 코스 생각 알고리즘 설계 및 계산 복잡도는 그들이 수학 성숙과 문제 해결 기술의 어느 정도를 필요로 할 수 있기 때문에 항상 이러한 주제에 익숙하지 않은 학생들을 위해 도전하고 있습니다. "계산의 복잡성"에 관한 나의 첫 번째 대학원 과정에서, 순수한 수학을 전공 한 내 친구는 그 과정에 많은 수학 배경이 필요하지는 않았지만 (최소한 그것이 과정 개요), 실제로 그의 순수 수학 학부 학위를 통해 얻은 거의 모든 기술이 필요했습니다!
나는 Sipser의 책 을 읽고 연습함으로써 "길"에 대해 가장 많이 알게되었다는 것을 알았습니다 (처음으로 대학원 공부를 시작할 때) . 문제 해결 기술과 수학 성숙도는 사실과 정의의 무리가 아니라 배우고 자하는 것이므로 연습을 수행해야합니다.
그러나 Sipser의 책은 복잡성과 NP- 완전성에만 적합하며 CLRS 책을 대체하는 것으로는 충분하지 않습니다. CLRS 서적의 유일한 문제점은이 서적이 학생들에게 무섭거나 압도적으로 보일 수 있기 때문에 포괄적 인 범위의 이점이 약점이 될 수 있다는 것입니다. 그래서 제 조언은 여러분이 실제로 도서관에 가서 알고리즘에 관한 책을 검색하고 하나씩 스캔하고 자신의 사고 패턴에 가장 적합한 것을 선택해야한다는 것입니다. 그리고 다시 운동하는 것을 잊지 마십시오!
알고리즘의 경우 개인적으로 다음 책을 제안합니다 (Sadeq 및 JeffE가 제안한 것 외에).
- S. Dasgupta, CH Papadimitriou 및 UV Vazirani 의 매우 읽기 쉽고 아름다운 책 알고리즘 .
- Jeff Erickson 의 킬러 노트 (또는 책 초안) JeffE는 자신의 메모를 제안하기에는 너무 겸손하기 때문에 직접해야합니다.
일반적으로 특정 알고리즘이나 데이터 구조를 연구 할 때마다 교과서의 설명이 명확하지 않은 경우 Google에서 특정 주제에 대한 강의 노트를 검색하는 것이 가장 좋습니다. 경우에 따라 동일한 내용에 대한 다른 설명으로 결국 완전한 그림을 얻을 수 있습니다. 적어도 그것이 저에게 효과적입니다.