자료구조 파트는 좋다, 알고리즘 파트는 나쁘다.
자료구조를 처음 학습한다면 다른 책으로 공부하자!!
이 책은 다음과 같은 순서로 내용을 이어갑니다.
책이 얇은 만큼 설명이 빈약합니다. 설명은 거의 없이 그냥 구현하라고 시키는데 기존에 자료구조에 대해 학습한 적 없다면 꽤나 헤맬 것 같습니다. 좋은 책인 건 맞지만, 시중에 존재하는 다른 책이나 강의를 먼저 보는 걸 추천합니다.
공식문서를 읽는 게 중요하다는 건 모두가 알고 있습니다. 그런데 제 기준에서는 백엔드 개발을 하면서 막히는 게 생겼을 때, 공식문서를 보는 친구들을 본 적이 없습니다. 왜일까요?
공식문서는 무섭고, 어려워보이기 때문입니다. 이미 시중에는 좋은 번역서도 많고, 블로그만 봐도 다른 사람들이 친절하게 써둔 글을 볼 수 있습니다.
쉽고 빠르게 자료를 찾을 수 있는데, 공식문서를 읽어봐야겠다는 심적인 여유가 생기지 않습니다. (특히 취업을 해야 하는 입장에서)
그런데 이 책의 요구사항을 지키려면 필수적으로 공식문서를 읽어야 합니다. 이 과정에서 공식문서와 익숙해지는 훈련을 할 수 있습니다.
회사에 들어가면 일반적으로 요구사항을 보고 구현을 합니다. 그런데 취준을 할 때 명확한 요구사항을 보고 개발하는 경험은 쉽게 할 수 없습니다.
자바 공식문서는 명확하게 요구사항들이 적혀있습니다. 공식문서를 보고 구현하는 일련의 과정은 좋은 경험이 된다고 생각합니다.
또, 잘 정리된 요구사항을 읽으면서 어떤 식으로 요구사항을 적는게 좋은지 경험할 수 있습니다.
좋은 코드를 답습하는 건 실력향상에 있어 도움이 된다고 생각합니다. 내가 먼저 구현해본 뒤, 답지를 통해 나와 어떤 차이가 있는지 확인할 수 있습니다.
사실 엄청 좋다 느낌은 아니지만, 그래도 도움이 됩니다!!
자료구조에 관련한 부분은 좋았습니다. 이미 개념을 어느 정도 알고 있어, 구현의 가이드라인이 되었다는 점에서 좋았습니다.
특히 ArrayList의 내부 구조나, 항상 헷갈리던 HashMap 등의 내부 구조에 대해 명확하게 잡았다는 점에서 저는 좋았습니다.
하지만, 알고리즘에 관련한 부분은 개인적으로 추천하지 않습니다. 설명이 빈약하다는 점이 여기서는 치명적인 약점으로 작용합니다.
자료구조는 설명이 빈약해도 공식문서를 보고, 구현을 하면서 개념을 잡아서 좋았습니다. 하지만 알고리즘은 그냥 어떻게 하라는 설명 자체가 빈약해서 구현에 어려움을 많이 겪었습니다. 또, 이미 DFS, 인덱스 등의 개념을 알고 있음에도 글이 잘 읽히지 않았습니다.
만약 이 책을 읽으시려는 개발자 분이 있다면 Chapter 7, 8, 14~16
은 건너뛰는 걸 추천합니다. 다른 책으로 공부합시다.