독서 (서평+독후감)/IT | 기술 | 공학

누구나 자료 구조와 알고리즘 (제이 웬그로우) - 길벗

야곰야곰+책벌레 2021. 12. 29. 16:13
반응형

  자료 구조라고 하면 굉장히 복잡하고 어려운 학문으로 생각할 수 있고 쉽게 시작하기에도 어려움이 있다. 그럼에도 자료 구조는 데이터가 넘쳐나는 시대에 꼭 필요한 학문이기도 하다. (물론 잘 만들어진 알고리즘을 가져다 사용해도 되지만..) 이왕 데이터를 다루기로 마음먹었다면 자료 구조를 공부해 봄이 좋다.

웹사이트를 검색하다가 생각보다 많은 사람들이 추천하는 책이었다. 처음 접하는 사람이라면 쉽게 접근할 수 있다는 희망의 메시지와 함께.. 그렇게 나도 구입해서 펼치게 되었다. 최근 DB와 연동해서 무언가를 만들면서 자료 구조에 대한 나의 관심도 높아졌기 때문이기도 했다.

  수학 용어나 전문 용어가 아니라도 이해한다고 설명하고 있지만, 상식적으로 아는 게 많으면 이해가 빠른 것도 맞다. 프로그램에 대한 이해가 있다면 더 빠르게 이해할 수 있을 수도 있다. 그럼에도 이런 카피를 납득할 수 있는 이유는 각 알고리즘에 대해서 step by step으로 설명해주기 때문이다. 조금 능숙한 사람이라면 이런 걸로 지면을 낭비하나 싶을 정도지만 정말 데이터 하나하나가 이동하는 모습을 그림으로 친절하게 설명하고 있다.

  자료 구조에서 알고리즘의 중요성을 얘기하면서 시작하며 성능을 확인할 수 있는 빅오 표기법을 먼저 설명해 준다. 그 뒤로는 아주 기초적인 알고리즘부터 범용으로 쓰는 알고리즘까지 이어진다. 그야말로 원시적인 알고리즘에 의문으로 던지고 그것을 해결한 다음 알고리즘을 설명하는 식으로 스토리텔링을 하고 있다. 지겹다고 바로 마지막 장으로 간다면 이해가 어려울 수도 있지만 차근차근 밟아가면 조금씩 머리가 트이게 된다. 

  단지 예제 코드가 한 번은 ruby였다가 한 번은 python이었다가 했는데, 코드가 그렇게 어렵지 않아서 모두 C++로 변환해서 실습할 수 있었다. 자료 구조를 볼 정도면 어느 언어 하나쯤은 할 수 있을 거라는 생각을 하고 있었던 것 같다. 마지막 알고리즘에서는 예제로 결과를 얻기가 조금 어려워 코드를 만지작 거리면서 결국 해결했지만 잘했는지는 모르겠다.

  자료 구조에 대한 실전 예제이면서도 가볍도 알차게 구성된 책이었다. 사람들이 왜 하나 같이 추천하는지 알 수 있었다.

반응형