| 주차 | 강의 주제 | 핵심 내용 | 강의 자료 (링크 클릭) | 비고 / 과제 (Report) | | --- | --- | --- | --- | --- | | 01주차 | 알고리즘 개요 & Peak Finding | 알고리즘적 사고, 1D/2D Peak Finding 알고리즘 | L00-환경설정 L01 | 강의/실습 | | 02주차 | 계산 모델 & 분할 정복 | RAM/Pointer 모델, 점근적(asymptotic) 표기법, 분할 정복 기초 | L02 | 강의/실습 | | 03주차 | 정렬 알고리즘 I | 삽입 정렬(Insertion Sort), 병합 정렬(Merge Sort), 재귀식 분석 | L03 - 정렬0 L03 - 정렬1 | [과제 1 출제] 정렬 알고리즘 구현 및 성능 비교 | | 04주차 | 우선순위 큐 & 힙 정렬 | Binary Min/Max Heap, Heapify, 힙 정렬(Heap Sort) | L04 파이썬 보충 자료 | 강의/실습 | | 05주차 | 이진 탐색 트리 (BST) | BST의 기본 구조, 검색/삽입/삭제 연산, 스케줄링 응용 | | [과제 1 제출] | | 06주차 | 균형 이진 탐색 트리 | AVL 트리 개념, 회전(Rotation) 연산 및 높이 균형 유지 | | [과제 2 출제] 트리 자료구조 구현 | | 07주차 | 선형 시간 정렬 | 비교 기반 정렬의 하한 Ω(n log n), 계수 정렬(Counting Sort), 기수 정렬(Radix Sort) | | [과제 2 제출] | | 08주차 | 중간고사 | 1~7주차 학습 내용 평가 (필기) | | 지필 | | 09주차 | 해시 테이블 I | Direct Access Table, 해시 함수, Chaining을 통한 충돌 해결 | | 강의/실습 | | 10주차 | 해시 테이블 II & 문자열 탐색 | Open Addressing(선형 탐사, 이중 해싱), 카프-라빈(Karp-Rabin) 알고리즘 | | [과제 3 출제] 해시 테이블 구현 및 응용 | | 11주차 | 그래프 기본 & 너비 우선 탐색 | 그래프 표현법(인접 리스트/행렬), BFS 및 최단 경로 | | 강의/실습 | | 12주차 | 깊이 우선 탐색 & 위상 정렬 | DFS 알고리즘, 간선 분류, 위상 정렬(Topological Sort) | | [과제 3 제출] | | 13주차 | 최단 경로 알고리즘 | 단일 출발지 최단 경로, 다익스트라(Dijkstra) 및 벨만-포드(Bellman-Ford) | | [과제 4 출제] 그래프/최단 경로 구현 | | 14주차 | 동적 계획법 (Dynamic Programming) | Memoization, 피보나치 수열, 최단 경로 DP 적용 | | [과제 4 제출] | | 15주차 | 기말고사 | 9~14주차 중심 종합 평가 | | 지필/실기 |