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