완전 탐색의 가장 큰 단점은 느리다는 것이다. 대입해봐야 할 답의 개수는 문제의 크기에 대해 지수함수보다 빠르게 증가하므로 완전 탐색 전략은 사람뿐만 아니라 컴퓨터가 풀 때도 바람직한 방법은 아니다! 마방진 같은 예시를 보여주면서 완전탐색을 알려주는 것이 흥미로웠다. 다음은 역추적이다. 완전 탐색을 적용하는 데 크게 두 가지 문제가 있는데, 첫번째는 모든 가능한 풀이를 생성하는 과정이고 더 근본적인 두번째 문제점은 생성해서 처리해야 할 풀이의 수다. 역추적은 완전탐색의 주먹구구식 접근법에 비해 상당히 발전된 방식으로, 불필요한 후보는 생성하지 않으면서 적절한 풀이 후보를 생성하도록 해주는 편리한 방법이다. 기본 개념은 풀이를 한 번에 하나씩 구축하면서 부분적으로 구축된 후보를 식으로 평가하는 것이다. 이..
Algorithm/도서 후기
[도서]"알고리즘 퍼즐"로 알고리즘 사고력 키우기(1) 알고리즘 문제를 어떻게 접근해서 어떻게 풀어야 하는지 스스로 잘 모르는 것 같다고 생각했다. 어려운 문제가 아닌데도 문제를 이해하고 접근하는데 1시간 씩 걸리곤 했다. CS 면접준비를 하기 위해 최근 길벗 출판사에 나온 면접을 위한 CS 전공지식노트 라는 책을 구매했었는데 만족도가 되게 높았었는데, 길벗 출판사에서 개발자 리뷰어를 모집한다길래 알고리즘 퍼즐 책을 신청했다. 정말 감사하게도 리뷰어로 선정해주셔서 알고리즘 퍼즐 책을 읽으며 사고력을 키워보려고 한다. "알고리즘 퍼즐" 상위 레벨의 접근법으로 문제를 이해하고 풀어내는 과정이 알고리즘 사고력의 핵심이다. 문제를 어떤 전략으로 접근할지 결정하는 알고리즘 사고력을 배우는 알고리즘 퍼즐을 모아놓은..