본문 바로가기

알고리즘6

완전탐색(exhaustive search) : Brute-force 완전 탐색(exhaustive serach)은 말 그대로 '모든 경우의 수를 찾아서 답을 찾는 방법'이다. 가장 강력하고 확실한 방법이지만 시간이 가장 오래 걸리는 탐색 기법이다. 완전 탐색의 종류 Brute-force 비트 마스크 순열 백트래킹 DFS, BFS 완전 탐색 자체는 알고리즘이 아니기 때문에 완전 탐색기법을 사용하기 위해서 여러 가지 알고리즘이 이용된다. 오늘은 이 중에서 Brute-force만 다룰 것이다. Brute-force란? '무식한 힘' 뜻 그대로 무식하게 푸는 기법이다. 어떠한 특정한 기법을 사용하지 않고 단순히 for문 if문 등으로 모든 케이스를 만들어 답을 만들어 구한다. 어떤 경우에 사용할까? 보통 완전 탐색 문제는 난이도가 쉬운 편이다. 하지만 미쳐 생각지도 못했던 난이.. 2022. 3. 9.
시간 복잡도 & 빅오표기법 친구를 만나기 위해 약속 장소를 찾아가는 상황을 생각해보자. 나머지 비용은 같다는 가정하에 목적지까지 1시간이 걸리는 경로와 30분이 걸리는 경로가 있다면 30분이 걸리는 경로를 선택할 것이다. 우리에게 시간은 소중하기에 효율적으로 사용하기 위한 노력을 의식적으로 하고 있는 것이다.컴퓨터 프로그래밍도 마찬가지다. 어떤 경로를 통해 약속장소로 가는 과정을 컴퓨터 프로그래밍에선 알고리즘이라고 말한다. 이때 도출할수 있는 여러 과정 중에 가장 빠르게 수행할 수 있는 알고리즘을 선택한다면 더 좋은 프로그램을 만들 수 있을 것이다. 알고리즘(Algorithm) 어떠한 문제를 해결하기 위한 여러 동작들의 모임 [알고리즘에 관한 더 자세한 설명[위키피디아\]]: https://ko.wikipedia.org/wiki/.. 2022. 3. 9.