‘MIT 파이썬을 이용한 알고리즘의 이해’ 강의에서는 지금까지 데이터 과학, 머신러닝 강의들에서 배운 것과는 조금 결이 다른 내용들을 다루었다.
먼저, 다양한 정렬 방식과 자료 구조를 공부하였다. 각 방식의 시간 복잡도를 분석하며 효율적인 프로그램 구성에 대한 통찰력을 키울 수 있었다.
다음으로는 그래프와 최단 거리 알고리즘을 배웠다. 그리고 그 연장선상에서 동적 프로그래밍을 공부하였다.
이번 강의는 데이터 과학과 아주 밀접하게 연결되는 내용이라고 하기에는 다소 무리가 있을 수 있지만, 기본적인 컴퓨터 과학은 데이터 과학의 가장 기초가 된다고 생각한다. 특히 모든 강의 내용에서 시간 복잡도를 다루었기에, 이번 강의 수강이 앞으로 코딩을 할 때 시공간적으로 효율적인 코딩에 대한 고민을 하는 계기가 될 것 같다.
마지막으로 이 내용만큼은 잊어버리지 말자. (교수님의 강조 사항)
다항 시간은 좋고, 지수 시간은 좋지 않으며, 무한대 시간을 사용하면 직장에서 해고될 것이다.
댓글남기기