정렬된 배열에서 탐색 범위를 절반씩 줄여나가는 이진탐색!
두 노드는 서로 같은 집합에 속할까?
최소 신장 트리를 찾아보자!
한 노드에서 다른 모든 노드까지의 최단 경로 구하기
모든 노드에서 다른 모든 노드까지의 최단 경로 구하기
중복된 부분 문제의 해를 테이블에 저장해놓고 재사용함으로써 수행 시간을 비약적으로 단축시키는 다이나믹 프로그래밍!
DP의 대표적인 문제
기본, 제곱근, 에라토스테네스의 체
자기 자신을 다시 호출하는 함수
그래프 탐색 알고리즘
완탐에서 시간복잡도를 줄여주는 몇가지 테크닉 (누적 합, 투 포인터, 슬라이딩 윈도우)
🔙 모든 경우의 수 중에서 불필요한 부분은 가지치기 하며, 효율적으로 탐색을 진행하는 백트래킹!
재귀함수로 순열과 조합 구현하기!
모든 도시들을 단 한번씩만 방문하고 원래 시작점으로 돌아오는 최소 비용을 구해보자!
현재 상황에서 지금 당장 가장 좋아 보이는 것만 근시안적으로 선택하는 그리디 알고리즘!
순서가 정해져있는 작업을 차례로 수행해야 할 때, 그 순서를 결정하기 위해 사용하는 정렬 알고리즘
한 노드에서 다른 모든 노드까지의 최단 경로를 구할 때, 음수 간선이 있는 경우!
효율적인 정렬 알고리즘에 대해 알아보자!
DP, 문자열
DP, 이분탐색