문제 (10) 썸네일형 리스트형 [알고리즘 공부] #3 재귀(Recursive) 알고리즘 with Python 재귀 알고리즘(Recursive)어떤 알고리즘일까?재귀 알고리즘은 하나의 함수에서 자기 자신을 다시 호출하여 작업을 수행하는 알고리즘을 말한다.위에 사진은 재귀 함수의 작동 방식을 간단한 예제를 활용하여 나타낸 것이다. 사진을 보면 알 수 있듯이 원하는 값을 얻을 때까지 자기 자신을 다시 호출하는 것을 알 수 있다. 장점과 단점장점재귀 알고리즘은 문제를 작은 단위의 하위 문제로 분활하고, 해당 하위 문제의 해결에도 동일한 알고리즘을 반복적으로 사용함으로 코드가 간결하고 유연성이 높다는 장점이 있다.단점재귀 알고리즘은 원하는 값이 나올 때까지 자기 자신을 계속 호출하는 것이기 때문에, 너무 많이 호출할 경우 코드의 속도 저하나 메모리 과다 사용 문제가 발생할 수 있다. 언제 사용하는가?재귀적 구조를 가진 .. [알고리즘 공부] #2 백트래킹(BackTracking) 알고리즘 with Python 백트래킹 알고리즘(BackTracking)어떤 알고리즘일까?백트래킹 알고리즘은 비선형으로 구성된 자료 구조를 깊이 우선으로 탐색할 때, 더 이상 탐색할 수 없는 상황에서 이전 단계로 돌아가는 알고리즘을 말한다.위에 사진을 보면 4번 자료까지 탐색한 후 더 이상 탐색할 길이 없어 2번 자료로 돌아가는 것을 알 수 있다. 이런 알고리즘을 백트래킹 알고리즘 이라고 한다. 장점과 단점장점백트래킹 알고리즘은 발생 가능한 모든 경우의 수를 탐색하기 때문에 100%확률로 조건에 맞는 값을 구할 수 있다는 장점이 있다.단점백트래킹 알고리즘도 완전 탐색 알고리즘의 일부분으로써 모든 경우의 수를 탐색해야 한다는 점에서 데이터의 양이 많아지면 시간이 오래 걸리고 비효율적이라는 단점이 있다.언제 사용하는가?탐색문제그래프나 트.. 이전 1 2 다음