뭐든지 왜 필요한가라는 의문을 갖기에 무작정 이론부터 들어가는 걸 싫어하는 나에게, 알고리즘이 필요한 이유를 가장 자세히 알려준 책이다. 첫번째 챕터에서 굉장히 자세하게 알고리즘의 필요성에 대해 알려주어서 좋았다. 무려 프로그래밍 진행 단계를 알려주며 그 과정에서 알고리즘이 어디에 들어가는지도 알려준다. 순서도와 의사언어도 입문서 중에서는 이 책에서 제일 자세히 알려주었다. 이후 챕터부터는 소스코드로 진행되기에 그림으로 진행되는 다른 입문서를 보고나서 참고하면 좋다. 그림으로 진행되는 입문서 중 이 다음 코스로 추천하는 책은 그림으로 배우는 알고리즘 Basic이다.
왜 알고리즘을 공부해야 하는가?
좋은 프로그램을 만들기 위해
- 속도가 빠르고, 효율적이고, 범용성이 높은 것이 좋은 프로그램이다.
프로그램의 좋고 나쁨을 판단하기 위해
- 하나의 문제나 과제를 해결하기 위한 알고리즘은 반드시 하나가 아닐 수도 있다
- 알고리즘을 제대로 공부하면 프로그램 소스 코드만 보고도 좋은 알고리즘인지 판단할 수 있다.
프로그램 작성 과정 전체를 효율화하기 위해
- 설계 단계에서 제대로 해 놓는 편이 좋다
프로그래밍 기술을 향상시키기 위해
- = 더 빠르고, 효율적이고, 더 범용적인 프로그램을 만든다
- 이를 위해 알고리즘을 스스로 만들어 보는 것이 중요하다.
- 잘 알려진 알고리즘을 활용하는 것이 제대로 이해하는 방법.
- 유명 알고리즘은 알고리즘의 표본
- 또한 좋은 프로그램을 만들기 위한 힌트가 많이 포함되어 있다.
- 선인들의 시행착오와 프로그램 작성 요령이 담겨 있다.