최근 진행되는 채용 절차에는 거의 필수라고 할 정도로 코딩 테스트가 포함되어 있습니다. 그리고 일반적으로 코딩 테스트는 JAVA, C 등의 언어로 진행됩니다. 이렇게 개발자들이 직장을 구할 때도, 알고리즘에 대한 이해와 응용 능력은 꼭 필요한 조건이 되었습니다. 비단 입사를 위한 공부가 아니더라도, 효율적으로 개발하고 개발 의도에 맞는 프로그램을 명확히 구현하기 위해서는 알고리즘의 개념 숙지와 개념을 코드로 활용하는 능력, 이를 위한 공부 또한 필수적이죠.
이렇게 필수적인 내용의 공부를 위해 알고리즘을 다루고, 알고리즘 테스트를 대비하기 위한 JAVA 서적들 중 가볍고 한 번에 끝낼 수 있는 책을 소개합니다.
[자바로 배우는 핵심 자료구조와 알고리즘 : 기술 면접에 필요한 실용주의 자료구조와 알고리즘]
http://www.hanbit.co.kr/store/books/look.php?p_code=B1619666323
[이 책은]
장의 맨 앞 페이지에는 이와 같이 '주제' 와 이 주제를 전개하는 '흐름'을 먼저 설명해 주고 있습니다.
이 덕분에 우리가 이 장에서 어떤 내용을 익힐 것이며, 어떤 순서로 어떻게 학습할 수 있는지 미리 파악할 수 있어요.
책을 끝까지 읽고 복습할 때, 각 장의 첫 장만 보고도 내용을 되짚을 수 있어 좋습니다.
각 장에서는 알고리즘에 사용되는 자료구조를 다이어그램 또는 그림으로 보여주고 있습니다.
글로 설명된 개념을 읽고 막연히 떠올리는 것보다 이해하기 쉬워요.
다이어그램으로 이해한 자료구조는 알고리즘을 구상하고 코드로 옮길 때 훨씬 유용하고 빠르게 적용할 수 있어요.
각 장에는 'NOTE' 섹션으로 심화학습을 위한 가이드, 잠시 쉬어갈 수 있는 읽을거리, 중요한 내용 등을 제공하고 있습니다.
또 사진처럼 알고리즘 개념을 설명할 때 하나부터 열까지 순차적으로 이해해 나갈 수 있게 차근차근 짚어줘요.
떄문에 어렵게 외우지 않아도 자연스럽게 이해할 수 있습니다.
또 개념을 설명하고 난 뒤에는 JAVA로 작성된 예제 코드들을 첨부해 바로 응용해 볼 수 있도록 가이드라인을 잡아줍니다.
이 책은 개념을 설명하고, JAVA로 그 개념을 작성하는 책이라서 소스 코드가 상당 부분을 차지하고 있어요.
소스 코드는 알고리즘 문제를 해결할 때 매우 유용하고, 더 나아가 JAVA를 사용하여 효율적으로 개발할 때 정말 좋을 것 같네요.
[책을 덮으며]
이 책은 자료구조에 대한 개념을 학습하기 전이나, 알고리즘의 종류를 알기 전에 읽기에는 조금 어려울 것 같아요. 하지만 어느 정도 '~알고리즘에 대해 들어 봤다', '자료구조를 좀 알고 있다' 하는 사람들에게 유용할 것 같습니다. 가볍게만 알고 있던 개념을 구체화할 수 있고, 만약 개념을 이해하지 못하고 암기해 둔 상태라면 완벽히 이해하여 내재화할 수 있게 도와주는 책이라고 생각되기 때문이예요. 그만큼 차근차근 이해하기 쉽게 개념이 설명되어 있고, 이를 JAVA 코드로 구현하는 것에 관해서도 상세히 설명되어 있어 완벽한 이해와 코드로 옮기는 데에 큰 도움이 될 수 있을 거라 생각합니다.
저는 개념을 가볍게 알고 있었던 상태에서 이 책을 접했기 때문에 책으로부터 받은 도움이 훨씬 더 크게 다가왔습니다. 또한 하나의 개념 뒤에 따라오는 소스코드도 개발할 때 매우 유용하게 참고했고요.
여러분들도 이 책을 통해 저와 같이 알고리즘/자료구조에 대한 개념을 다잡고, 이와 함께 JAVA로 효율적인 코드를 작성하는 데 많은 도움을 받길 바랍니다!