유튜브의 MIT OpenCourseWare 채널에는 MIT의 다양한 학과 강의가 있다. 여기에 정리할 요약 노트의 원 강의는 MIT 6.006 Introduction to Algorithms, Spring 2020로, 교수님들이 알고리즘/데이터 구조를 자세히 설명해주시고 각각의 효율성을 수학으로 증명해주시는데 증명 과정을 차근히 보여주셔서 문과인 나도 느리지만 조금씩 이해할 수 있는 정도이다. 다만 과제로 내주시는 예제들 역시 수학적 증명이라 과제는 건너뛰고, 수업에서도 내가 이해할 수 있는 부분만 취하고자 한다.
An algorithm is a fixed size solution or a function to general problems with arbitrarily sized inputs. The goal of learning algorithms is to solve computational problems in a correct and effective way. The efficiency units that signify the performance of an algorithm are O(upper bound), Ω(lower bound) and θ(when upper and lower bounds are the same)