안녕하세요 Dibrary입니다.
알고리즘을 공부하려면 쉬운 기본 개념부터 공부하고, 점진적으로 그 수준을 높여 나가야 합니다.
알고리즘 관련 책은 다행이도 한국에 몇 권 있습니다.
특히나 개발자들 사이에서 통용되는 'OO책' 이런 이름들을 달고있습니다.
널리 알려진 책 중, 제가 직접 읽어본 책만 주관적인 평가를 해 보겠습니다.
비전공자가 공부하고 느낀 점인 셈이죠.
1. 종만북
종만북이라는 이름으로 정말 널리 알려진 책 입니다. 2권으로 구성되어 있으며, 대부분의 풀이에 정당성 해설도 꼭 들어 있습니다.
왜 종만북이냐구요? 저자가 구종만 입니다. ㅎㅎ 책 이름이 너무 길어서 종만북 종만북 하는 것이죠.
저는 이 책을 읽으면서 굉장히 어렵다는 생각이 제일 먼저 들었습니다. 물론, 전부 다 어려운게 아니라, 군데 군데 이해 할 수 있는 내용이 들어있는데, 대부분 70% 이상은 그냥 한번 읽고 이해하기 어려웠습니다.
이 책은 알고리즘과 관련된 대회를 나가려면 꼭 추천을 받는 책입니다.
취업을 위한 코딩테스트에 이정도 수준까지는 안 나오지만, 대부분의 내용을 알면 '좀 더 난이도 있는 문제가 나오더라도 당황하지는 않겠구나' 하는 생각은 들었습니다.
언어는 C++로 되어 있기 때문에 C/C++언어를 공부하지 않은 사람이라면 좀 어려울 수 있습니다.
이 책을 보면서 정말 감탄했던? 부분은 '기하'관련 부분입니다. 공부하지 않았었다면 전혀 떠올리지 못할 내용이어서 더 신기하다는 생각이 많이 들곤 했었죠.
2. 빨간책
빨간책으로 많이 불리는 책입니다. 종만북보다 얇고 단권입니다.
우선, 종만북과 비교하면 훨씬 이해하기가 쉽습니다. 그 얘기는 종만북보다는 난이도 높은 알고리즘은 생략되었다는 얘기가 되죠.
개인적으로 제가 처음에 공부할 때 유용했습니다. 아무래도 전공으로 알고리즘을 공부한 것이 아니라서 대략적으로 어떤 알고리즘들이 있는지를 파악하고 문제를 풀 때 어떻게 사용하는지를 아는데 도움을 받았습니다.
이 책에서 나오는 코드는 C#, C++, JAVA 언어로 나오기 때문에 JAVA만 공부했을 때 제가 이해하기도 용이했습니다.
만약에 알고리즘을 공부하겠다고 마음먹거나, 공부한 적이 없으시다면 종만북보다는 이 책으로 먼저 시작하시기를 권합니다. 처음부터 절벽을 만나면 많이 힘드니까요.
3. 노란책
노란책입니다. 정말 노란색이죠.
이 책도 빨간책 처럼 단권인데, 내용의 난이도는 아스트랄합니다 =_=;
종만북 내용을 한 권에 압축해 놓았다고 보시면 됩니다. 근데 페이지 수는 더 적죠.
따라서, 난이도는 종만북 수준인데 해설이 그만큼이 아니라는 얘기 입니다. 그래서 더 어렵게 느껴질 수 있습니다.
사실 제 개인적으로도 종만북을 먼저 안 봤으면 뭔소린가 싶을 내용이 많았습니다.
혹자는 번역이 좀 그렇다고 하는데, 그렇게 번역이 거슬리지 않았습니다. 아무래도 문장 하나하나를 아주 곱씹으면서 읽어서 그런거 같기도 합니다.;;
우선 위 책만 놓고 볼때 읽는 순서는
빨간책 -> 종만북 -> 노란책 이렇게 권해드립니다.
물론 이 외에도 하얀책, 전공서적 등 많이 있습니다만, 대표적으로 3권이 많이 거론됩니다. (그중에서도 종만북이..)
'알고리즘' 카테고리의 다른 글
Codility 코딜리티 (0) | 2022.09.29 |
---|---|
파이썬에서 빈번하게 마주하는 몇 가지 편하게 하는 방법 (0) | 2022.08.30 |
[BOJ][1236번] 성 지키기 (0) | 2022.08.26 |
알고리즘 공부할 때 풀지 못할 어려운 문제를 마주한 경우 (0) | 2022.06.22 |