[MIT_edwith] 파이썬을 이용한 알고리즘의 이해 강좌 소개
MIT 6.006 Introduction to Algorithm
소개
Ref1에서 MIT 공대 "Introduction to Algorithm"수업의 강의 영상과 강의 자료를 한국어로 번역하여 제공합니다.
또한 Ref3을 참고하면 수업에서 제공하는 여러 알고리즘의 파이썬 코드와 퀴즈, 시험, Solution까지 확인할 수 있습니다.
강의 구성
8개의 챕터
20시간 분량의 영상
프로젝트 없음
코드 배포 : Python2
학습 내용
시간 복잡도, 공간 복잡도 계산법
정렬(삽입 정렬, 합병 정렬, 힙 정렬, BST 정렬, 계수 정렬, 기수 정렬, AVL 정렬)
힙, 트리, 해싱, 그래프(BFS, DFS)
최단 경로 탐색(다익스트라, 벨만 포드)
동적 계획법
필요한 선행지식
파이썬 언어에 익숙해야 하며, 이산수학 및 자료구조에 대한 이해가 필요하다.
강의 계획
<Unit 1: Introduction>
-Lecture 1: Algorithmic Thinking, Peak Finding
-Lecture 2: Models of Computation, Document Distance
<Unit 2: Sorting and Trees>
-Lecture 3: Insertion Sort, Merge Sort
-Lecture 4: Heaps and Heap Sort
-Lecture 5: Binary Search Trees, BST Sort
-Lecture 6: AVL Trees, AVL Sort
-Lecture 7: Counting Sort, Radix Sort, Lower Bounds for Sorting
<Unit 3: Hashing>
-Lecture 8: Hashing with Chaining
-Lecture 9: Table Doubling, Karp-Rabin
-Lecture 10: Open Addressing, Cryptographic Hashing
<Unit 4: Numerics>
-Lecture 11: Integer Arithmetic, Karatsuba Multiplication
-Lecture 12: Square Roots, Newton's Method
<Unit 5: Graphs>
-Lecture 13: Breadth-First Search (BFS)
-Lecture 14: Depth-First Search (DFS), Topological Sort
<Unit 6: Shortest Paths>
-Lecture 15: Single-Source Shortest Paths Problem
-Lecture 16: Dijkstra
-Lecture 17: Bellman-Ford
-Lecture 18: Speeding up Dijkstra
<Unit 7: Dynamic Programming>
-Lecture 19: Dynamic Programming I: Fibonacci, Shortest Paths
-Lecture 20: Dynamic Programming II: Text Justification, Blackjack
-Lecture 21: Dynamic Programming III: Parenthesization, Edit Distance, Knapsack
-Lecture 22: Dynamic Programming IV: Guitar Fingering, Tetris, Super Mario Bros.
<Unit 8: Advanced Topics>
-Lecture 23: Computational Complexity
-Lecture 24: Topics in Algorithms Research
Ref
- [MIT] 파이썬을 이용한 알고리즘의 이해 : https://www.edwith.org/introalgorithm
- 모두의 연구소 - Edwith-"[MIT] 파이썬을 이용한 알고리즘의 이해"와 적용 : http://home.modulabs.co.kr/product/edwith-mit%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%9D%84-%EC%9D%B4%EC%9A%94%ED%95%9C-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%98-%EC%9D%B4%ED%95%B4-baekjoon/
- MIT 6.006 Introduction to Algorithms : https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/index.htm