모든 것의 기본이자 뼈대는 전 탐색이라고 생각한다.
전탐색을 고려해보고 전탐색이 불가하다면 그때부터 다른 어떠한 알고리즘과 자료구조를 적용 시켜서 문제를 제한된 시간과 메모리내에 해결가능할지를 모색한다.
이러한 전탐색을 할 수 있는 방법으로는 크게
-for문을 통한 탐색
-깊이 우선 탐색
-너비 우선 탐색
이 있다고 생각한다. 각 경우에 따라 효율이 좋은 방법을 채택하여 사용하면 될것이다.
특히 너비 우선 탐색은 queue를 사용하기 때문에 탐색의 깊이와 넓이가 커지면 커질 수 록 그에 비례하는 메모리가 필요하다. 반면에 깊이우선 탐색은 깊이에만 비례하는 메모리가 필요하므로 너비 우선 탐색에 비해 메모리 제약이 적다.
(최단거리는 너비우선탐색 ㅋ)
'Programming Contest Challenging' 카테고리의 다른 글
갯수 제한이 있는 부분합 (0) | 2017.08.09 |
---|---|
Unbounded Knapsack Problem(갯수 제한없는 배낭문제) (0) | 2017.08.04 |
최장 공통 부분열(DP) (0) | 2017.08.04 |
0/1Knapsack Problem(DP) (0) | 2017.08.04 |
탐욕(Greedy) (0) | 2017.08.03 |