c언어로 알고리즘 공부하면서 코딩테스트까지 빡세게 준비한다면 이 책을 추천해주고 싶습니다.
외서라서 그런지, 바로 본론으로 들어갑니다. 코딩테스트를 위한 알고리즘에 대한 기본 개념들을 책의 초장부터 바로 설명합니다. 문법 설명은 일절 없고, 바로 복잡도에 대한 설명을 하면서 간단한 문제들을 풀면서 복잡도에 대해 설명합니다. 예를 들어, 최대-최소 배열 문제에서 2가지 해결책을 제시하면서 복잡도의 크기가 어떻게 되는지 이야기해줍니다.
2장에서는 알고리즘 문제를 풀기 위한 접근법을 다룹니다. 문제를 어떻게 간단하게 만드고, 어떤 자료구조가 적합한 지 생각해야 함을 얘기해줍니다 또, 복잡도를 어떻게 계산해야 할 지 초안을 그렸다면 이제 코딩에 들어갑니다. 3장에서는 자료 구조들에 대해 간단하게 설명합니다. 자료 구조는 별도로 다른 책으로 공부 좀 해오시는 게 낫다고 봅니다.
이후에는 정렬, 검색, 연결 리스트 등 굉장히 상세하게 다룹니다. 그리고 코딩테스트 초보라면 결코 쉽지 않습니다. 코드를 이해하고 다시 풀어보고 다른 방법을 사용해보고 한다면 정말 이 책을 최소 1달 이상은 붙잡아야 되는 책이라고 보여집니다.
문제를 주고, 해결책을 주고 바로 코드가 나옵니다.
우선, 코드 없이 문제랑 해결책만 보고 고민을 해야될 것 같습니다.
각각의 문제들을 계속 고민하면서 알고리즘 공부를 해나간다면 이 책만 2달 이상은 봐야될 것 같습니다. 아마 문제를 풀면서 구글링도 상당히 해야합니다. 내 코드는 무엇이 잘못됐는지 비교도 해봐야합니다.
c 문법과 자료구조는 어느 정도 학교에서 공부했거나 다른 책이나 인강으로 독학한 사람이라면 이 책을 봐도 좋을 것 같습니다. 그게 아니라면, 이 책은 봐선 안됩니다. c언어로 알고리즘 능력을 키우고 싶은 모든 분들에게 추천해주고 싶습니다. 기본 알고리즘에 굉장히 충실한 책입니다. 그리고 문제들이 정말 많습니다. 근래 나온 C 언어 관련 알고리즘 책 중에서 제일이라고 생각합니다.