Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백준 2504번
- 플로이드 워셜 알고리즘(Floyd-Warshall Algorithm)
- 백준 2812번
- 이분 그래프(Bipartite Graph)
- 백준 9012번
- 위상 정렬(Topology Sort)
- 백준 1948번
- 이분 탐색(Binary Search)
- 다익스트라 알고리즘(Dijkstra Algorithm)
- 백준 18352번
- 스택(Stack)
- 그래프(Graph)
- 백준 2493번
- 백준 17608번
- 백준 10000번
- 트리(Tree)
- 그리디 알고리즘(Greedy Algorithm)
- 동적 프로그래밍(Dynamic Programming)
- 알고리즘 개념
- DFS(Depth First Search)
- DFS & BFS
- BFS
- 백준 21606번
- BFS(Breadth First Search)
- DFS
- 큐(Queue)
- 백준 2261번
- 분할 정복(Divide and Conquer)
- 위상 정렬(Topological Sort)
- 백준 1707번
Archives
- Today
- Total
목록동적 프로그래밍(Dynamic Programming) (1)
Always Be Wise
동적 프로그래밍(Dynamic Programming)이란?
동적 프로그래밍(Dynamic Programming)이란 복잡한 문제를 간단한 여러 개의 문제로 나누어 해결하는 방법을 의미한다. 여러 개의 문제로 나누어 해결한다는 점에서 분할 정복(Divide and Conquer)과 유사해 보이지만, 동적 프로그래밍의 경우, 간단한 문제들이 반복적으로 일어난다는 점에서 차이가 있다. 즉, 동적 프로그래밍은 간단한 문제들을 한 번만 해결하고 그보다 복잡한 문제를 풀어나갈 때 똑같은 간단한 문제가 다시 나타나면 그 결과 값을 이용해해결하는 방법이다. 이때, 간단한 문제의 결과 값을 기억하여 반복 수행을 제거하는 과정을 메모이제이션(Memoization)이라고 한다. 동적 프로그래밍을 사용하려면 아래 두 가지 조건을 만족해야 한다. 1. 부분 문제 반복(Overlapp..
알고리즘/개념
2021. 11. 25. 15:55