티스토리 뷰

Hobby/Book

[Book] Learning algorithm

생각많은 소심남 2022. 6. 27. 00:00

(해당 포스트에서 소개하고 있는 "Learning Algorithm: 똑똑한 코드 작성을 위한 실전 알고리즘" 책은 한빛 미디어로부터 제공받았음을 알려드립니다.)

 

똑똑한 코드 작성을 위한 실전 알고리즘

파이썬 예제를 실행해보면서 컴퓨터 과학의 핵심 알고리즘과 문제 해결법을 익히는 책

hanbit.co.kr

Learning Algorithm

아마 유명한 IT 업계로 취업하려는 사람들은 알겠지만 시중에는 정말 다양한 알고리즘 책들이 존재한다. 다양한 책들마다 나름대로의 내용을 풀어가는 방향이 다 다르다. 예를 들어서 어떤 책은 문제은행 식으로 많은 케이스들을 제공하고 이에 대한 해설을 제공하는 형태가 있다. 또 다른 책은 정렬이나 탐색, 그래프와 같이 문제를 푸는데 있어서 필요한 기본 지식들에 대해서 하나씩 다루는 형태로 되어있는 경우도 있다. 또 이 선택의 기준이 언어에 따라서 달라지는 경우도 있다. C++도 있고, 자바용도 있고, 파이썬도 있고... 아마 취향이나 취업할 회사의 성향에 따라서 알고리즘 책 선택의 기준이 달라질 것이다.

사실 이번에 소개할 책을 처음 선택한 이유는 어떻게 보면 앞에서 말한 책을 선택하는 기준 중 교집합에 해당하는 책이라고 생각했기 때문이다. 분량이 많지 않으면서, 문제에 필요한 기본 지식을 설명한 책을 원하고, 이를 파이썬으로 설명되어 있는 책을 찾는 사람, 특히 나같은 경우는 언젠가는 봐야하는 SW역량인증시험 준비를 위해서 간단하게 살펴볼만한 책이라고 봤다. 참고로 책에서 다뤄지는 내용은 다음과 같다.

  • 파이썬 기본자료형을 활용한 문제 해결
  • 복잡도를 통한 알고리즘 분석
  • 해싱
  • 정렬
  • 이진트리
  • 그래프

그런데 책을 읽으면서 느낀 점은... 처음 알고리즘을 배우려는 사람이 보기보다는 한번씩 기본내용을 훑고 다시 복습하려는 사람이 보면 좋을것 같다는 생각이 들었다. 물론 책의 내용이 구현하는 부분이나 일반적인 알고리즘 책에서 소개할법한 내용들도 다루기는 하지만, 그보다도 "이런식의 접근 방법을 했을 때는 결과가 어떻게 바뀔까?", "해당 알고리즘에서는 어떤 오류가 있는데, 왜 날까?" 하는 식의 설명들이 많이 포함되어 있다. 물론 기본 내용만 살피려는 사람에게는 어려운 내용일 수도 있겠지만, 뭔가 알고있는 지식에 대한 생각의 여지를 부여한다고 할까.. 그런 느낌이 많이 들었다.

댓글