강의 자료들¶
목차¶
01. 완전 탐색¶
탐색, 정렬¶
- 이진 탐색
- lower_bound, upper_bound
- 정렬된 자료에서 [a, b] 구간의 자료의 개수 구하기
연습 문제¶
- 프로젝트 분배
- 숫자 교환
03. 백트래킹(Backtracking)¶
예제 코드¶
- 동전 교환
- 배낭 문제
- 부분 집합 생성
- 재귀적 정의
- N-Queen 문제
- 순열 생성 + 가지 치기
연습 문제¶
- 병원 짓기
- 방 배정
- 모든 정점 경유 최단 거리
05. 트리¶
예제 코드¶
- 트리 순회하기
- 전위/중위/후위 순회하기
- 트리의 높이
- 트리의 크기(노드 수)
- 이진 탐색 트리
- 힙(Binary Heap)
- 인덱스 트리(Index Tree)
- 구간 트리(Segement Tree)
연습 문제¶
- 공통조상, 서브 트리의 높이와 너비
추가¶
추가 문제¶
목록¶
- 트리 순회
- 트리의 높이와 너비
- 주의 :루트가 1번 노드가 아닐 수 있다.
- 최소 공통 조상(LCA, Lowest Common Ancestor)
- 주의 : 입력으로 제공되는 간선(u,v) 정보에서 먼저 입력되는 u가 반드시 부모가 아닐 수 있다.
- 무향 그래프 형태로 저장해서 1번(루트)를 시작점으로 너비우선 탐색을 수행해서 정점들의 부모를 찾는다.
- 구간합 구하기
- 구간 최소값