파트 1: 알고리듬 기초 학습이 필요한 이유
알고리듬의 기본 개념과 문제 해결의 첫걸음을 위한 필수 강의로,
코딩 테스트 준비와 실전 알고리듬 학습을 시작하려는 수강생에게 최적화된 커리큘럼입니다.
-
1. 세계적 명강의 기반의 체계적 커리큘럼
- 스탠퍼드 CS161 강의를 간결하게 재구성하고, 실습을 보강한 강의
- 심화적인 내용은 파트 2에서 다루며, 부담 없이 문제 해결 능력을 한 단계 향상! -
2. 효율적이고 깔끔한 학습 환경 제공
- 100% 편집된 체계적인 커리큘럼으로 핵심만 명확하게 전달
- 글과 영상으로 학습을 보완해 자연스럽게 지식을 내 것으로 만듦 -
3. 암기식 학습이 아닌 진정한 실력 배양
- 기본 이론과 맞춤형 실습 문제로 알고리듬을 확실히 내재화
- 스스로 생각하며 문제를 해결하는 능력을 연습, 실력 있는 엔지니어로 성장!
Course curriculum
강의 목차
챕터1. 분할 정복
챕터2. 점근 분석
삽입 정렬 복습
귀납에 의한 증명
삽입 정렬 성능 실험
점근 표기법
챕터3. 점화식
병합정렬 복습
병합정렬 분석
점화 관계
마스터 정리 소개
마스터 정리 증명
치환법
챕터4. 중간값과 선택
개수 세기
부분 선택 정렬
최대 최소 찾기
기준값에 의한 분할
기대 선형
챕터5. 무작위 알고리듬
퀵-정렬
퀵정렬 성능 분석
퀵정렬과 병합정렬 비교
챕터6. 버킷정렬
비교 정렬의 하한
선형-시간 정렬
카운팅 정렬
기수 정렬
버킷 정렬
챕터7. 레드-블랙 트리
2-3 트리
레드-블랙트리 (삽입)
레드-블랙트리 (삭제,선택)
AVL vs Red-Black
챕터8. 해싱
생일 역설
개별 체이닝
map vs unordered_map
로마 숫자 문제
유니버설 해싱 (참고)
챕터9. 그래프
모든 경로 찾기 문제
위상 정렬
큐-기반 위상 정렬
DFS 위상 정렬
BFS 경로 찾기
심벌 그래프
싸이클 찾기
챕터10. 강하게 연결된 요소들
연결된 요소
강하게 연결된 요소들(무차별대입)
Kosaraju 알고리듬
챕터11. 가중치가 있는 그래프
분할 상환 분석
힙과 우선순위 큐
std::priority_queue
IndexMinPQ
다익스트라 알고리듬
챕터12. 동적 프로그래밍 I
동적 프로그래밍
철근 잘라서 팔기 문제
벨먼-포드 최단경로 찾기
외환 차익 거래(선택)
플로이드-워셜 모든 최단경로 찾기
챕터13. 동적 프로그래밍 II
최장 공통 문자열 찾기
0/1 가방 문제
무제한 가방 문제
가장 큰 독립 집합
챕터14. 탐욕스러운 알고리듬
부분 가방 문제
일정 짜기 문제
탐욕적인 알고리듬
허프만 코딩
챕터15. 최소 신장 트리
최소비용 신장트리
Prim MST
Union-Find
Kruskal MST
챕터16. 최대 유량
Ford-Fulkerson
챕터17. 안정적인 매칭
짝짓기 문제
이분 그래프
게일-섀플리 알고리듬
챕터18. 다루기 힘든 문제들
가장 긴 경로 찾기
여행하는 외판원
P vs NP
FAQ💬
자주 묻는 질문
-
1. 알고리듬 공부 왜 해야하나요?
현대의 소프트웨어 엔지니어가 알고리듬을 공부해야 하는 이유는 첫째, 코딩테스트로 대표되는 취업 준비, 둘째는 실무 능력의 근본적인 향상, 세번째는 사고력 획득으로 정리할 수 있습니다.
-
2. 선수과목으로 꼭 파이썬과 자료구조를 보고 와야 하나요?
강의는 C++로 진행되기 때문에 파이썬이 필수는 아닙니다. 그러나 알고리듬의 추상적인 개념들을 공부해나가기 위해서는 다양한 분야에 대한 실습 경험이 큰 도움이 되기 때문에 파이썬 추월코스를 권장합니다. 제 강의들은 프로그래밍 실습위주로 진행되기 때문에 자료구조 수준의 프로그래밍 실력이 필수입니다. 자료구조를 제 강의가 아니라 다른 경로로 공부하신 분들은 실습이 부족했을 경우에는 다소 어렵게 느껴질 수 있습니다. 자료구조와 겹치는 부분을 다시 반복해서 다루지는 않습니다.
-
3. 수학 실력이 어느정도 필요한가요?
중고등학교 때 다항식 전개, 로그의 기본 개념, 확률의 기본 개념 정도를 배웠던 기억이 어렴풋이 있으시다면 이번 기회에 컴퓨터 프로그래밍과 어떻게 연결되는 지를 확인하실 수 있습니다. 강의 소개 영상을 참고하세요. 문제풀이 요령 알려주는 강의가 아니라 진짜 알고리듬 강의입니다.
Checklist
수강 전 체크리스트
-
본 강의는 100% 한국어로 진행되며 영문 수료증이 발급됩니다!
(*This lecture is 100% in Korean only) -
선수 과목: 파이썬 추월코스, C++ 핵심정리 무료 강의, 자료구조 압축코스
-
모든 강의의 환불 조건은 수강일 기준이 아닌 결제일 기준입니다. 부분환불은 불가능하며, 수강 시작 후 7일 이내 챕터1 까지는 공부량과 상관 없이 전액 환불해드립니다. 챕터2 부터는 수강 시작일과 상관 없이 환불이 불가능합니다.
홍정모 연구소 로드맵 코스
파이썬 추월코스 ➡️ C++ 핵심 정리 ➡️ 자료구조 ➡️ 알고리듬
About Jeong-Mo Hong
이것만 하면 된다! 프로그래밍 강의 경력 15년 이상, 누적 수강생 14,000명 이상
2020-2021 Instagram 소프트웨어 엔지니어
2008-2019 동국대학교 컴퓨터공학과 부교수
2005-2007 Stanford University 박사후 연구원
2002-2005 고려대학교 전산학 박사
1996-2002 카이스트 기계공학과 학석사