Algorithm3 [Algorithm] Dynamic Programming vs. Greedy Algorithm 동적계획법(Dynamic Programming)은 지난 포스팅에서 살펴봤습니다.2025.02.19 - [프로그래밍/Python 관련 정보] - [Algorithm] Dynamic Programming vs. Recursion [Algorithm] Dynamic Programming vs. Recursion동적계획법(Dynamic programming)은 재귀구조(Recursion)와 비교해서 살펴봐야하는 방법론인데요, 사실 두 용어가 무 자르듯 딱 상호베타적으로 구분되는 것은 아닌데 좁은 의미로 사용될 때 두 가지가trillionver2.tistory.com이번에는 동적계획법과 탐욕(Greedy) 알고리즘을 비교해보겠습니다. 탐욕(Greedy) Algorithm : 순간순간 마다의 최선의 결정하는 방식.. 2025. 2. 20. [Algorithm] Dynamic Programming vs. Recursion 동적계획법(Dynamic programming)은 재귀구조(Recursion)와 비교해서 살펴봐야하는 방법론인데요, 사실 두 용어가 무 자르듯 딱 상호베타적으로 구분되는 것은 아닌데 좁은 의미로 사용될 때 두 가지가 어떤 차이가 있는지 살펴보겠습니다. 두 방법론 모두 부분문제의 해결책을 전체 문제의 해결책으로 활용한다는 점에서는 공통점이 있습니다. 하지만 재귀구조는 주로 Top-Down 방식으로 (특히 함수를 재귀적으로 호출하는 방식으로) 적용하는 반면 동적계획법은 Bottom-up 방식을 사용하거나 Top-Down + Memoization 결합방식을 차용합니다. 재귀구조는 같은 작업을 여러번 반복하게 될 가능성이 있어서 깊은 재귀구조에서는 stack-overflow에러가 발생할 위험이 있습니다. 피보.. 2025. 2. 19. [Algorithm] Depth/Breadth First Search 이번 포스팅에서는 깊이우선탐색(Depth First Search : DFS)과 너비우선탐색(Breadth First Search)에 대해서 알아보겠습니다. 두 알고리즘 모두 그래프에서 모든 노드를 방문하거나 특정 경로를 탐색하는 데 사용되며, 각각의 특성과 사용 방법에 차이가 있습니다. DFS (Depth First Search, 깊이 우선 탐색)DFS는 한 경로를 끝까지 탐색한 후에 다른 경로로 이동하는 방식입니다. 주로 재귀(Recursion)나 스택(Stack)을 사용해 구현합니다. 1. 알고리즘 요약1) 시작 node에서 출발합니다.2) 방문한 node를 기록하고, 해당 node의 인접 node 중 방문하지 않은 node로 이동합니다.3) 더 이상 이동할 node가 없으면 이전 단계로 백트래킹(B.. 2025. 2. 11. 이전 1 다음 반응형