본문 바로가기

728x90

알고리즘

(10)
[알고리즘 공부] #2 백트래킹(BackTracking) 알고리즘 with Python 백트래킹 알고리즘(BackTracking)어떤 알고리즘일까?백트래킹 알고리즘은 비선형으로 구성된 자료 구조를 깊이 우선으로 탐색할 때, 더 이상 탐색할 수 없는 상황에서 이전 단계로 돌아가는 알고리즘을 말한다.위에 사진을 보면 4번 자료까지 탐색한 후 더 이상 탐색할 길이 없어 2번 자료로 돌아가는 것을 알 수 있다. 이런 알고리즘을 백트래킹 알고리즘 이라고 한다. 장점과 단점장점백트래킹 알고리즘은 발생 가능한 모든 경우의 수를 탐색하기 때문에 100%확률로 조건에 맞는 값을 구할 수 있다는 장점이 있다.단점백트래킹 알고리즘도 완전 탐색 알고리즘의 일부분으로써 모든 경우의 수를 탐색해야 한다는 점에서 데이터의 양이 많아지면 시간이 오래 걸리고 비효율적이라는 단점이 있다.언제 사용하는가?탐색문제그래프나 트..
[알고리즘 공부] #1 완전 탐색, 브루트포스(Brute Force) 알고리즘 with Python 완전 탐색 알고리즘(Brute Force)어떤 알고리즘일까?완전 탐색 알고리즘은 조건문이나 반복문을 통해 가능한 모든 경우의 수를 탐색하여 원하는 값을 구하는 알고리즘을 말한다. 알고리즘 설계의 가장 기본적인 접근 방법은 값이 존재할 것으로 예상되는 모든 영역을 전체 탐색하는 방법이다. 이러한 접근 방법을 생각해볼 때 완전 탐색 알고리즘은 알고리즘의 기본이라고 볼 수 있다. 장점과 단점장점완전 탐색 알고리즘의 장점은 발생 가능한 모든 경우의 수를 탐색하기 때문에 100%확률로 조건에 맞는 값을 구할 수 있다는 점이다.단점완전 탐색 알고리즘의 단점은 발생 가능한 모든 경우의 수를 탐색하기 때문에 탐색할 영역이 크거나 복잡한 문제를 해결할 때는 코드가 비효율적이고 느릴 수 있다. 언제 사용하는가? 탐색할 영..

728x90