그동안 그다지 신경쓰지 않았던 알고리즘 공부를 복습하고자 한다.
물론 기본적이 알고리즘과 여러 잡다한 알고리즘을 알고 있기는 하지만 처음부터 한번 정도 정리해야될 필요성을 많이 느끼고 있었다.
전에 conv2님과 함께 학교 와서 구입한 알고리즘 책은 이미 다 본 상태구 코딩까지 해봐서 이제 다른 책으로 넘어가야 할거 같다.
Algorithms : Design Techniques and Analysys 라는 책인데 이 책은 고대 서점에 가서 전부터 조금씩 눈여겨 본 책이라서 오늘 학교 온 기념으로 구입했다. (책이 핸드북 처럼 생겨서 가지고 다니기 편하게 되어 있다.)
원서인데 이미 아는 개념이 많아서 그렇게 힘들게 다가올거 같지는 않다. 그런 부분도 나름 다르게 정리한것들이 있으니 잘 정리해보도록 하자.
이 책의 주요 용도는 다른 책에 나오지 않은 알고리즘을 보기 위함이고, 연습문제를 통해 생각하는 방법을 트레이닝 하기 위함이다.
정리하는 의미로 방학중에 읽도록 하자.
개인적으로 알고리즘은 자료구조와 비슷하지만 다르다고 본다. 국내 서적들을 보자면 알고리즘과 자료구조를 함께 다룬 책들이 대부분인데, 정말 이건 비추다.
자료구조를 공부한 다음에 그것을 기반으로 알고리즘을 공부하는것이 수순이라고 보며 자료구조는 특정 자료구조의 특징과 쓰임새 복잡도 정도를 판별하고 익히면 될거라 생각되나 알고리즘은 문제집처럼 자주 생각하고 풀어보면서 문제의 의미와 그에 대한 해결 방법을 빠르게 찾는 생각하는 방법을 길러주는것이 중요하다고 본다.
예를들어 ‘미로를 찾는 문제는 stack이나 recursion을 이용한 풀이를 쓴다.’ 정도만 빨리 생각하고 구체화 할 수있는 정도가 숙달된 척도가 되지 않을까 한다.
그래서 이번 알고리즘은 문제풀이와 고민 위주로 공부해 나가고자 한다.
방법뿐만 아니라 쓰임새 특징과 적용될 수 있는 문제 유형을 익혀나가야 겠다.
알고리즘 공부하기 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.